提问人:Lesley 提问时间:10/1/2022 更新时间:10/2/2022 访问量:71
如何在 java 中使用扫描仪仅接受用户输入的特定数量的行
How can I accept only a specific number of lines from user input using scanner in java
问:
我正在研究一种吸收方法,我专门接受用户的 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]);}
}
}
}```
答:
1赞
Arvind Kumar Avinash
10/1/2022
#1
您可以使用大小为 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);
}
评论