Hei!
Kuinkahan voi lajitella lukuja jotka luetaan tiedostosta ja niitä on useita.
Esimerkki tiedostosta:
-1.0
1.0
5.0
-10.2
ym.
Tuosta pitäisi saada min ja max arvot talteen.
Ensin ajattelin vertailla niitä keskenään, mutta eihän se tietenkään onnistu. Esimerkiksi lukujen 1 ja 5 vertailu onnistuu, muttei lukujen 1.1 ja 5.5.
Kuinkahan voi lajitella lukuja jotka luetaan tiedostosta ja niitä on useita.
Esimerkki tiedostosta:
-1.0
1.0
5.0
-10.2
ym.
Tuosta pitäisi saada min ja max arvot talteen.
Ensin ajattelin vertailla niitä keskenään, mutta eihän se tietenkään onnistu. Esimerkiksi lukujen 1 ja 5 vertailu onnistuu, muttei lukujen 1.1 ja 5.5.
Vastaukset 2
Vanhimmat
Lue liukuluvut (java.lang.Double) listaan ja käytä metodeja Collections.min ja Collections.max.
En malttanut olla kokeilematta. Merkkijonoilla, aakkosjärjestystä käyttäen, tuo menisi seuraavasti:
public static List readLines(File f) throws java.io.IOException {
List list=new ArrayList();
String line;
BufferedReader br = new BufferedReader(new FileReader(f));
while(null!=(line=br.readLine()))
list.add(line);
br.close();
return list;
}
public static void main(String args[]) throws Exception {
List rivit=readLines(new File("abc.txt"));
System.out.println(Collections.min(rivit));
System.out.println(Collections.max(rivit));
}