Hallo,
habe ein problem mit einem Java Programmierbeispiel. Es geht prinzipiell darum, aus einem File abgespeicherte Daten (Start- und Stopzeiten) auszulesen und daraus Rundenzeiten zu berechnen. Nun bekomme ich beim Versuch des Kompilierens meines Quellcodes immer diese Fehlermeldung:
"Exception in thread "main" java.lang.NumberFormatException: For input string: "1.259752712926E12" - (dieser String ist der Wert der ersten Zeile meines eingelesenen Files).
Der Source Code lautet folgendermaßen:
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.*;
import java.io.*;
/**
*
* @author Sicknick
*/
public class timeStop {
long laptime;
int lap;
String filepath="lapsRecord.txt";
timeStop (int lap) throws IOException{
this.lap=lap;
this.laptime=rundenzeit();
}
public long rundenzeit() throws IOException{
FileReader fr = new FileReader(filepath);
BufferedReader br= new BufferedReader(fr);
Scanner sc = new Scanner(br);
String daten=sc.nextLine();
String [] datensplit=daten.split("[|\n]");
long startzeit=Long.parseLong(datensplit [(lap-1)*2]);
long stopzeit=Long.parseLong(datensplit [lap+lap]);
laptime=stopzeit-startzeit;
fr.close();
br.close();
return laptime;
}
}
In der main Methode lässt sich dann problemlos eine Instanz der Klasse timeStop bilden, beim Versuch die Methode mit der erzeugten Instanz zu starten stellt sich dann aber ein Laufzeitfehler ein. Kann mir vielleicht wer sagen, ob dieser Code syntaktisch komplett falsch ist oder ob der Hund irgendwo im Detail begraben liegt? Bin leider noch absoluter Java-Laie und kenn mich insbesondere mit Exceptions noch nicht wirklich gut aus, wäre also für jedes Feedback sehr dankbar!!!
cheers,
alex