簡體   English   中英

java for循環提前終止

[英]java for loop early termination

這是我的java程序的前半部分——輸入某些值。 我注意到第一個接收答案鍵值的“for 循環”在 2 或 3 次迭代后終止,而不是預期的 5 次,到目前為止,我還沒有找到原因。 任何幫助將不勝感激,謝謝!

public class quizscores
{ public void main()throws IOException
    { BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("enter no of participants");
        int n=Integer.parseInt(br.readLine());
        char arr[][]=new char[n][5];
        
        System.out.println("Please enter answer key");
        char ans[]=new char[5];

        for(int i=0;i<5;i++) //referring to this for loop
        {
         ans[i]=(char)(br.read());
        }
        
        System.out.println("please enter answers of participants ");
        for(int i=0;i<n;i++)
        {for(int j=0;j<5;j++)
            {arr[i][j]=(char)(br.read());
            }
       }
      

BufferedReader.read()方法一次讀取一個字符,因此在您的情況下會發生什么情況,當您在新行上提供輸入時,它將讀取空白或回車嘗試在沒有空格的單行上輸入答案鍵。

    System.out.println("Please enter answer key");
    char ans[]=new char[5];

    for(int i=0;i<5;i++) //referring to this for loop
    {
     ans[i]=(char)(br.read());
    }

Sample I/O
Please enter the answer key
ABCDE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM