【问题标题】:How can I accept only a specific number of lines from user input using scanner in javajava - 如何在java中使用扫描仪只接受来自用户输入的特定行数
【发布时间】:2022-10-02 04:16:45
【问题描述】:

我正在处理一项任务,我专门从用户那里接受 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]);}
                }
            
          
        }
    
}```

    标签: java input java.util.scanner line


    【解决方案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);
    }
    

    【讨论】:

    • 谢谢,这很有帮助,我很感激!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    相关资源
    最近更新 更多