Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.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_String_Class_Duplicates_Java.util.scanner - Fatal编程技术网

Java扫描器类读取字符串

Java扫描器类读取字符串,java,string,class,duplicates,java.util.scanner,Java,String,Class,Duplicates,Java.util.scanner,我得到了以下代码: int nnames; String names[]; System.out.print("How many names are you going to save: "); Scanner in = new Scanner(System.in); nnames = in.nextInt(); names = new String[nnames]; for (int i = 0; i < names.l

我得到了以下代码:

        int nnames;
    String names[];

    System.out.print("How many names are you going to save: ");
    Scanner in = new Scanner(System.in);
    nnames = in.nextInt();
    names = new String[nnames];

    for (int i = 0; i < names.length; i++){
        System.out.print("Type a name: ");
        names[i] = in.next();
    }

    System.out.println(names[0]);
当遇到分隔符(空白)时停止读取。请改用下一行方法。

而不是:

in.next();
使用:

nextLine()。因此,只需在nextLine()之后添加一个nextLine(),然后进入循环:

...
Scanner in = new Scanner(System.in);
nnames = in.nextInt();
in.nextLine(); // gets rid of the newline after number-of-names
names = new String[nnames];

for (int i = 0; i < names.length; i++){
    System.out.print("Type a name: ");
    names[i] = in.nextLine();
}
...
。。。
扫描仪输入=新扫描仪(系统输入);
nnames=in.nextInt();
in.nextLine();//删除名称数后的换行符
名称=新字符串[nnames];
for(int i=0;i

尝试使用:

System.out.println()
而不是:

System.out.print()

与+1完全匹配最近我在一次编程竞赛中输了,因为我使用了next()而不是nextLine()跳过了第一个\\n。这真是太愚蠢了:(这是一个巧合吗?我今年第一次参加比赛,结果被压垮了——甚至没能进入第二轮。但我在第一轮和第二轮比赛中都玩得很开心,明年我会回来的。)。
System.out.println()
System.out.print()