Ich versuche, einen Code zu schreiben, um eine Datei mit Namen, E-Mails und Marken zu lesen, um Daten von der unteren Marke zu höheren Die Struktur der Datei ist Name, E-Mail, Marke Namen ; E-Mail; Zeichen ... Das Problem ist, dass ich Fehler mit dieser Linie erhalten 'note.get (j + 1) = note.get (j)' "unerwarteter Art gewünschten Variable gefunden Wert"lesen Sie eine Datei und sortieren Marken
hier ist mein Code richtig? Hilfe bitte
try {
BufferedReader lineReader = new BufferedReader(new
FileReader("C://wamp/www/text.txt"));
String lineText = null;
ArrayList<String> nom = new ArrayList<String>();
ArrayList<String> email= new ArrayList<String>();
ArrayList<Double> note = new ArrayList<Double>();
while ((lineText = lineReader.readLine()) != null) {
String[] split = lineText.split(";");
nom.add(split[0]);
email.add(split[1]);
note.add(Double.parseDouble(split[2]));
}
double temp;
String temps;
for(int i=0;i<note.size();i++){
for(int j=0;j<note.size()-1-i;j++){
if(note.get(j)> note.get(j+1)){
temp=note.get(j);
note.get(j+1)=note.get(i);
note.get(i)=temp;
temps=nom.get(j);
nom.get(j+1)=nom.get(i);
nom.get(i)=temps;
temps=email.get(j);
email.get(j+1)=email.get(i);
email.get(i)=temps;
}
}
}
lineReader.close();
} catch (IOException ex) {
System.err.println(ex);
}
}
formatieren Sie bitte Ihren Code neu – Jens
Sie können dem Ergebnis einer Getter-Methode keinen Wert zuweisen. Ändere 'note.get (j + 1) = note.get (i);' zu 'note.set (j + 1, note.get (i));' und so weiter – Jens
Verwende deine Daten in einer 'StudentMark' Klasse mit einem 'name',' email' und 'note' Feld. Lassen Sie die Schnittstelle 'Vergleichbar' implementieren. Lesen Sie alle Zeilen in Ihrer Datei und erstellen Sie ein neues 'StudentMark'-Objekt mit den Daten, die Sie pro Zeile lesen. Fügen Sie das zu einer Liste hinzu. Verwenden Sie 'Collections # sort', um Ihr Array zu sortieren. – nbokmans