Java 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.length; i++){

System.out.print("Type a name: ");

names[i] = in.next();

}

System.out.println(names[0]);

当我运行此代码时,扫描仪将仅选择名字而不是姓氏。并且有时在尝试输入名称时会跳过一行,它会显示出来,好像我将名称留空并跳到下一个名称一样。我不知道是什么原因造成的。

我希望有一个人可以帮助我!

编辑:我试过in.nextLine(); 它修复了全名,但仍然保留一行,这是输出示例:

How many names are you going to save:  3

Type a name: Type a name: John Doe

Type a name: John Lennon

回答:

代替:

in.next();

用:

in.nextLine();

nextLine() 读取字符,直到找到换行符 '\n'

以上是 Java Scanner类读取字符串 的全部内容, 来源链接: utcz.com/qa/425089.html

回到顶部