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()
方法一次读取一个字符,所以在您的情况下会发生什么情况,它将读取空的 space 或在您在新行上输入时输入 尝试给出答案没有 spaces.
的单行键输入
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
这是我的 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()
方法一次读取一个字符,所以在您的情况下会发生什么情况,它将读取空的 space 或在您在新行上输入时输入 尝试给出答案没有 spaces.
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