Java 从多个txt文件读取整数并添加值
我刚刚熟悉从txt文件中读取数据,在这篇文章中,我必须从大约3个txt文件中读取数据,每个文件包含3个整数,然后将这些值相加。(我在其中放置了一个while循环,其中第4个文件称为零,这就是循环结束的地方,这样我就可以简单地理解它是如何工作的) 我必须使用while循环,因此我认为如果我使用第一个while循环文件名,那么我可以使用第二个while来读取文件while(x.hasNextInt()) 我使用了一个sum变量作为int的和(每个文本文件中有3个) 这是我一直得到的:Java 从多个txt文件读取整数并添加值,java,file,loops,while-loop,Java,File,Loops,While Loop,我刚刚熟悉从txt文件中读取数据,在这篇文章中,我必须从大约3个txt文件中读取数据,每个文件包含3个整数,然后将这些值相加。(我在其中放置了一个while循环,其中第4个文件称为零,这就是循环结束的地方,这样我就可以简单地理解它是如何工作的) 我必须使用while循环,因此我认为如果我使用第一个while循环文件名,那么我可以使用第二个while来读取文件while(x.hasNextInt()) 我使用了一个sum变量作为int的和(每个文本文件中有3个) 这是我一直得到的: Please
Please enter file name:
n1
Reading from n1. The numbers are: 1 0 4 .The total is 5
Please enter file name:
n1
Please enter file name:
n2
Please enter file name:
我做错了什么?您忘记在完成第一次迭代后将
x
设置为新扫描仪。因此,x.hasNextInt()不能为true,因为原始文件中没有可读取的整数
更改此项:
try
{
x = new Scanner(new File(FileName+".txt"));
while(!FileName.equals("zero"))
{
while(x.hasNextInt())
{
% code here
}
}
}
进入
好的,你在调试器中一步一步地完成了代码吗?谢谢,我真的很感激。代码是有效的,我知道我在哪里犯了错误。
sum=sum+a+b+c;
System.out.printf("Reading from "+ FileName+". The numbers are: "+a+" "+b+" "+c+" .The total is "+sum);
}
System.out.println("\n Please enter file name: ");
FileName = sc.next();
}
}
catch (FileNotFoundException fnf)
{
System.out.println(fnf.getMessage());
}
sc.close();
x.close();
}
Please enter file name:
n1
Reading from n1. The numbers are: 1 0 4 .The total is 5
Please enter file name:
n1
Please enter file name:
n2
Please enter file name:
try
{
x = new Scanner(new File(FileName+".txt"));
while(!FileName.equals("zero"))
{
while(x.hasNextInt())
{
% code here
}
}
}
try{
while(!FileName.equals("zero"))
{
x = new Scanner(new File(FileName+".txt")); % Scanner declaration shifted here
while(x.hasNextInt())
{
% code here
}
}
}