2017-04-30 1 views
1

Zum Beispiel ist die Datei, die ich vergleichen muss, etwa so, alles wird durch Tab getrennt. Ich muss die Zeiten und die Noten der 2 verschiedenen Leute vergleichen. Die Datei sieht ungefähr so ​​aus, wobei die erste Zahl eine Zeit in Sekunden und die zweite eine Punktzahl ist.Wie kann ich Zahlen in einem String-Array vergleichen?

John Smith 10 30
Peter Green 99 85

Mein Code so weit:

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); 

Ausgang: 99
wenn es 10.

+0

Ist Ihr Vergleich nicht rückwärts? –

Antwort

0

Es hätte sein sollen, ist ein Problem, mit Ihrem Code hier:

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

Sie setzen die Mindestzeit für jede Iteration der while-Schleife zurück. Was Sie gemeint war zu tun, zu erklären MINTIME außerhalb des Anwendungsbereichs der while-Schleife (was Sie getan haben), und dann schreiben:

if(time<minTime) 
    minTime=time; 

Auf diese Weise Ihre minimale Zeit tatsächlich gespeichert werden.

Verwandte Themen