Hallo zusammen !
Es wird Datei data.txt gelesen und der Scanner soll alle
Doubles (bzw. Floats ) finden und als Zahlen ausgeben.
Es geht nach folgendem Muster :
Warum wird nur jede zweite Zahl als Double erkannt ?
in jeder Zeile der gelesenen Datei gibt es zwei Zahlen
zahl1 zahl2
zahl1 zahl2
zahl1 zahl2
zahl1 zahl2
...
Beide Zahlen sind Gleitkommazahlen
und nur immer die erste wird als Zahl erkannt (hasNextDouble, hasNextFloat).
Hängt es damit zusammen,
dass die zweiten Zahlen kleiner als 1 sind und mit einer 0 beginnen ?
So sieht es jedenfalls in der Konsole aus.
Liegt es am Scanner oder an Double oder ... ?
Es wird Datei data.txt gelesen und der Scanner soll alle
Doubles (bzw. Floats ) finden und als Zahlen ausgeben.
Es geht nach folgendem Muster :
Code:
FileReader file = new FileReader("data.txt");
Scanner sc = new Scanner(file);
while(sc.hasNext())
{
if(sc.hasNextDouble())
d = sc.nextDouble();
System.outprintln("double" +d );
}
Warum wird nur jede zweite Zahl als Double erkannt ?
in jeder Zeile der gelesenen Datei gibt es zwei Zahlen
zahl1 zahl2
zahl1 zahl2
zahl1 zahl2
zahl1 zahl2
...
Beide Zahlen sind Gleitkommazahlen
und nur immer die erste wird als Zahl erkannt (hasNextDouble, hasNextFloat).
Hängt es damit zusammen,
dass die zweiten Zahlen kleiner als 1 sind und mit einer 0 beginnen ?
So sieht es jedenfalls in der Konsole aus.
Liegt es am Scanner oder an Double oder ... ?