如何比较字符串数组中的数字?

时间:2017-04-30 19:47:53

标签: arrays parsing

例如,我需要比较的文件是这样的,都是由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岁。

1 个答案:

答案 0 :(得分:0)

您的代码存在问题:

minTime=time;
  if(minTime<time)
    minTime=time;

您正在重置while循环的每次迭代的最小时间。你打算做的是在while循环(你做过)的范围之外声明minTime,然后写:

if(time<minTime)
  minTime=time;

通过这种方式,您的最短时间实际上已被保存。