Ich habe eine Textdatei und Eclipse liest das ohne Probleme. Das Problem ist, dass ich nicht weiß, wie ich die Zahlen vom FileReader halten kann. Mein Programm soll einen Text aus einer Datei lesen, die zwei Namen mit ihren Schulnoten hat.Wie kann ich Zahlen aus einer Textdatei lesen und vergleichen?
Zum Beispiel:
Jack 30 30 30
Martin 20 20 30
Wie finde ich das mit den größeren Punkten?
public static void main(String[] args) {
String name = null;
try {
Scanner keybord = new Scanner(System.in);
System.out.println("enter in file name");
String filename = keybord.nextLine();
Scanner file = new Scanner(new File(filename));
while (file.hasNext())
{
name = file.nextLine();
System.out.println(name);
///?? what do i have to write to compare to persons points
}
} catch(IOException e) {
System.out.println("The file does not exist");
}
}
Eines der ersten Dinge, die Sie lernen sollten, ist die API bestimmter Klassen/Bibliotheken zu lesen, um zu verstehen, wie eine Methode funktioniert und was sie tut. In diesem Fall: ['Scanner # nextLine()'] (https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#nextLine--). Dies ist nicht die Methode, die Sie hier aufrufen möchten. Verwenden Sie stattdessen 'Scanner # next()' (überprüfen Sie die JavaDoc/API, um herauszufinden, warum). Verwenden Sie dann 'Scanner # nextInt()', um die Zahlen zu lesen und sie [in einer Sammlung] zu speichern (https://docs.oracle.com/javase/tutorial/collections/). Von dort können Sie auf die Nummern zugreifen und diese vergleichen. – Tom
Erstellen Sie einfach eine Klasse (z. B. 'StudentPoint'), die sowohl den Namen als auch den Punkt des Schülers enthält. Und wenn Sie eine Zeile lesen, teilen Sie sie in Werte und instanziieren Sie Ihr Objekt, fügen Sie es zu einer 'List' hinzu. Schließlich iteriere durch deine "Liste" und finde heraus, was du willst. –
Danke Tom :) Ich lese mehr über Scanner und Pufferklassen. –