2016-04-01 12 views
0

Ich habe Probleme beim Extrahieren der Daten aus einer Textdatei und deren Verwendung. Ich habe eine Aufgabe, die erfordert, dass ich 10 Doubles aus der Datei bekomme und den Min-, Max- und Durchschnitt der Zahlen finde. Das ist, was ich bisher habe.Fehler beim Suchen von Daten aus der Textdatei

import java.util.*; 
 
import java.io.IOException; 
 
import java.util.Scanner; 
 
import java.io.File; 
 

 
public class DataAnalysis 
 
{ 
 

 
    static double i; 
 
    
 
public static void main(String args[]) 
 
{ 
 
     double sum =0; 
 
     
 
     
 
     Scanner inputFile = new Scanner("input.txt"); 
 
     double min = inputFile.nextDouble(); 
 
     double max = inputFile.nextDouble(); 
 
     for(i = inputFile.nextDouble(); i < 10; i++) 
 
     { 
 
     if(i < min) 
 
     { 
 
      min = i; 
 
     } 
 
     else 
 
     { 
 
      if(i > max) 
 
      { 
 
       max = i; 
 
      } 
 
     } 
 
      
 
     } 
 
    double average = sum/ 10; 
 
    System.out.println("Maximum: " + max); 
 
    System.out.println("Minimum: " + min); 
 
    System.out.println("Average: " + average); 
 
} 
 
}

Es kompiliert ganz gut, aber ich habe einen Scanner InputMismatchException

Exception in thread "main" java.util.InputMismatchException 
 
\t at java.util.Scanner.throwFor(Scanner.java:864) 
 
\t at java.util.Scanner.next(Scanner.java:1485) 
 
\t at java.util.Scanner.nextDouble(Scanner.java:2413) 
 
\t at DataAnalysis.main(DataAnalysis.java:20)

Alle mit dieser Hilfe würde geschätzt!

+1

Was wie Ihre input.txt Datei aussehen tut? – Buddy

+0

Ich denke auch, dass das Format der input.txt nicht wie erwartet ist. Würden Sie etwas mit uns teilen? – Shenal

+0

Hier ist meine input.txt Datei 0,32 0,99 0,44 0,65 0,23 0,11 0,22 0,12 1,11 0,39 – Wood

Antwort

0

Möglicherweise ist das Gebietsschema abhängig. Dezimalzahlen werden z.B. in Schweden als 0,5 geschrieben.

Ihren Code ändern, so dass es z.B .: sagt

Scanner scan = new Scanner(System.in); 
scan.useLocale(Locale.US); 
Verwandte Themen