例如,我需要比较的文件是这样的,都是由tab分隔的。我需要比较两个不同的人的时间和分数。该文件看起来像这样,第一个数字是以秒为单位的时间,第二个数字是分数。
John Smith 10 30
彼得格林99 85
到目前为止我的代码:
File testResults= new File("TestResults.txt");
Scanner inputFile= new Scanner(testResults);
String[] testResultArr=new String[4];
int c=0,minTime=0,minGrade=0,maxGrade=0,avgGrade=0,sum=0,time=0,scores=0;
while(inputFile.hasNext())
{
String line= inputFile.nextLine();
testResultArr= line.split("\t");
time= Integer.parseInt(testResultArr[2]);
scores= Integer.parseInt(testResultArr[3]);
minTime=time;
if(minTime<time)
minTime=time;
}
System.out.println("Lowest Time: "+minTime);
输出:99
什么时候应该是10岁。
答案 0 :(得分:0)
您的代码存在问题:
minTime=time;
if(minTime<time)
minTime=time;
您正在重置while循环的每次迭代的最小时间。你打算做的是在while循环(你做过)的范围之外声明minTime,然后写:
if(time<minTime)
minTime=time;
通过这种方式,您的最短时间实际上已被保存。