Ich habe eine Textdatei, die wie folgt aussieht:Wie scannt Doppel aus einer Textdatei in ein Array?
Apple-
10,1 20 11 21,3 31 12,7 22 32,4 42 13
Die erste Zeile ist der Name der Firma, die zweite Zeile repräsentiert seine Aktienkurse.
Ich möchte alle Doppel in ein Array scannen, damit ich Berechnungen durchführen kann.
Hier ist mein Code
public static void main(String[] args) throws FileNotFoundException {
Scanner keyboard = new Scanner(System.in);
System.out.println("Select A File");
String FileName = keyboard.next();
Scanner linReader = new Scanner(new File(FileName));
double[] values = new double[10];
while (linReader.hasNextLine()) {
linReader.nextLine(); // skips company name
String line = linReader.nextLine();
// store following doubles into array
int nums = 0; //
if (linReader.hasNextDouble()) {
values[nums] = linReader.nextDouble();
nums++;
}
}
linReader.close();
System.out.println(Arrays.toString(values)); //prints out array 'values'
}
ich die Datei auswählen, dann überspringen ich die erste Zeile (die den Firmennamen enthält).
Dann initialisiere ich eine Nummer, um die Indezes im Array zu verfolgen. Wenn die Zeile ein anderes double hat, dann wird sie dem Array mit dem Index 'num' hinzugefügt und 'num' wird um 1 erhöht. Dies sollte so lange fortgesetzt werden, bis keine Doppelgänger mehr vorhanden sind.
Zumindest ist das die Logik dahinter. aber der Ausgang kommt immer darauf
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Ich bin nicht sicher, warum dies geschieht oder wie man repariere es.
'line' hat alle Werte. – Li357