Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从用户输入读取名称并将其存储在数组中_Java_Arrays_String_For Loop_Java.util.scanner - Fatal编程技术网

Java 从用户输入读取名称并将其存储在数组中

Java 从用户输入读取名称并将其存储在数组中,java,arrays,string,for-loop,java.util.scanner,Java,Arrays,String,For Loop,Java.util.scanner,我目前正在创建一个程序,从用户输入中获取10个名称,将它们存储在数组中,然后以大写形式打印出来。我知道有人问过类似的问题,但没有一个能真正帮助我。根据,任何帮助都将不胜感激 我的代码: import java.util.Scanner; public class ReadAndStoreNames { public static void main(String[] args) throws Exception { Scanner scan = new Scanner(System.

我目前正在创建一个程序,从用户输入中获取10个名称,将它们存储在数组中,然后以大写形式打印出来。我知道有人问过类似的问题,但没有一个能真正帮助我。根据,任何帮助都将不胜感激

我的代码:

import java.util.Scanner;

public class ReadAndStoreNames {

public static void main(String[] args) throws Exception {
    Scanner scan = new Scanner(System.in);
    //take 10 string values from user
    System.out.println("Enter 10 names: ");
    String n = scan.nextLine();


    String [] names = {n};
    //store the names in an array
    for (int i = 0; i < 10; i++){
        names[i] = scan.nextLine();
        }
    //sequentially print the names and upperCase them
    for (String i : names){
        System.out.println(i.toUpperCase());
        }

    scan.close();

}

}
你的问题是:

String [] names = {n};
names
的大小现在为1,值为10。 你想要的是:

String [] names = new String[n];
后者是指定数组大小的正确语法

编辑:

您似乎想使用扫描仪读取
n
nextLine
可以是任何东西,所以不仅仅是整数。我将代码更改为:

import java.util.Scanner;

public class ReadAndStoreNames {

public static void main(String[] args) throws Exception {
    Scanner scan = new Scanner(System.in);

    System.out.println("How many names would you like to enter?")
    int n = scan.nextInt(); //Ensures you take an integer
    System.out.println("Enter the " + n + " names: ");

    String [] names = new String[n];
    //store the names in an array
    for (int i = 0; i < names.length; i++){
        names[i] = scan.nextLine();
        }
    //sequentially print the names and upperCase them
    for (String i : names){
        System.out.println(i.toUpperCase());
        }

    scan.close();

}

}
import java.util.Scanner;
公共类ReadAndStoreName{
公共静态void main(字符串[]args)引发异常{
扫描仪扫描=新扫描仪(System.in);
System.out.println(“您想输入多少个名称?”)
int n=scan.nextInt();//确保采用整数
System.out.println(“输入“+n+”名称:”);
字符串[]名称=新字符串[n];
//将名称存储在数组中
for(int i=0;i
我正试图找出如何正确地完成InPuth扫描。我曾尝试按照您的说法指定数组,但在“.=new String[n];”中的n下有一条蜿蜒的红线,并显示消息“Type mismatch:cannot convert from String to int”(类型不匹配:无法从String转换为int)我是否必须将字符串解析为int或类似的格式?恐怕我的编程技能还有很多需要改进的地方。是的,非常感谢,伙计:),所以我可以稍微报答一下;你是。当谈论任何属于别人的事情时,你的词是正确的。哈哈,你这个语法纳粹!我的答案有点仓促,但我知道其中的区别。别担心:是的,我是,但这只是因为这是我的母语:D
import java.util.Scanner;

public class ReadAndStoreNames {

public static void main(String[] args) throws Exception {
    Scanner scan = new Scanner(System.in);

    System.out.println("How many names would you like to enter?")
    int n = scan.nextInt(); //Ensures you take an integer
    System.out.println("Enter the " + n + " names: ");

    String [] names = new String[n];
    //store the names in an array
    for (int i = 0; i < names.length; i++){
        names[i] = scan.nextLine();
        }
    //sequentially print the names and upperCase them
    for (String i : names){
        System.out.println(i.toUpperCase());
        }

    scan.close();

}

}