我需要逐行读取用户输入(可能包含空格)。我已经阅读了Scanner doesn't see after space个问题。所以我使用scanner.nextLine()
,但这种方法对我的程序没有帮助。以下是我的示例程序......
public class TestingScanner {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("How many friends do you have ?");
int size = sc.nextInt();
String[] names = new String[size];
for (int i = 0; i < size; i++) {
System.out.println("Enter your name of friend" + (i + 1));
names[i] = sc.nextLine();
}
System.out.println("*****************************");
System.out.println("Your friends are : ");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
System.out.println("*****************************");
}
}
在runnig我的程序中,在插入no:of friend之后,我的程序产生如下两行。我该如何解决?感谢。
答案 0 :(得分:2)
int size = sc.nextInt();
使用sc.nextLine()
后使用换行符,否则,循环中的nextLine()
会占用它们,这不是您想要的。
int size = sc.nextInt();
sc.nextLine();