如何使用java中的scanner只接受用户输入的特定行数



我正在处理一项任务,我接受用户指定的8行文本,并将每个单词打印在自己的行上,我很难计算行数,只有当用户输入正好是8行时才打印单词。这就是我目前拥有的

class EightLines{
public static void main(String[] args){
System.out.println("Enter 8 lines:");
Scanner input = new Scanner(System.in);




while (input.hasNextLine()){
String line = input.nextLine();
printwords(line);}
}


public static void printwords(String line) {     


//String line = input.nextLine();
line = line.trim();
String[] arrofwords = line.split("[;:,.!?' ']");
for (int j=0;j<arrofwords.length;j++){
String word = arrofwords[j];
if (word == " "){System.out.print("");}

else{
System.out.println(arrofwords[j]);}
}


}

}```

您可以使用大小为8的数组来存储输入行,然后打印它们的单词。

final int LIMIT =8;
String [] arr = new String[LIMIT];
// Input
for (int i = 0; i < LIMIT; i++) {
arr[i] = input.nextLine();
}
// Print
for (int i = 0; i < LIMIT; i++) {
printwords(arr[i]);
}
// Alternatively, you can use a for-each loop to process elements
/*
for (String str: arr) {
printwords(str);
}
*/

如果希望输入和打印一起处理,则不需要数组。

for (int i = 0; i < 8; i++) {
String line = input.nextLine();
printwords(line);
}

最新更新