2017-08-20 2 views
0

Der Versuch, Inhalte einer Datei zu lesen undJava lesen Inhalte aus einer Datei und gelten für Formel

zB auf eine Formel anwenden, wenn die Datei

9,50

enthält

1,25

würde der Ausgang

sein

€ 7.0 = £ 5,46

€ 9.5 = £ 7,41

1,25 € = £ 0,975

Mein Code:

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

public class fileQuestion { 

    public static void main (String[] args) throws IOException { 

     File fileContents = new File("currencyFile.txt"); 
     Scanner inputFile = new Scanner(fileContents); 

     if(fileContents.exists() == false) { 
     System.out.println("File doesnt exist "); 
     } 

     else{ 

     while(inputFile.hasNextInt()) 
     { 
      double result; 
      double conversionRate = 0.78; 

      result = ?? * conversionRate; 
      System.out.println("£" + fileContents + " = €" + result); 
     } 
     inputFile.close(); 

     } 
    } 
} 
+2

... und was ist die Frage? –

+0

@Gearoid, fügen Sie einfach while loop folgenden Code hinzu: int currencyValue = scanner.nextInt(); Ergebnis = currencyValue * ConversionRate; – slesh

+0

BTW Sie eingefügt Code mit etwas Interrest zu 'int', und Datei hat Schwimmer –

Antwort

0

Sie weiß nur nicht, wie man die Datei liest, oder? Es ist einfach. Wenn Sie zuvor Scanner verwendet haben, sollten Sie wissen, dass es eine Methode namens nextDouble gibt, die den nächsten double-Wert zurückgibt. Sie sollten diese Methode verwenden.

Ersetzen Sie einfach ?? durch inputFile.nextDouble().

Es gibt jedoch noch einige weitere Probleme mit Ihrem Code.

  • Da die Datei double Werte enthält, verwenden hasNextDouble statt hasNextInt.

  • Sie sollten prüfen, ob die Datei existiert, bevor Sie die Scanner erstellen. Andernfalls wird eine Ausnahme ausgelöst.

  • Sie sollten fileContents nicht drucken. Stattdessen sollten Sie den Wert, den Sie aus der Datei erhalten haben, in eine Variable schreiben und dann die Variable drucken.

Hier einige Code:

File fileContents = new File("currencyFile.txt"); 


    if(!fileContents.exists()) { 
     System.out.println("File doesn't exist "); 
    } 
    else{ 
     Scanner inputFile = new Scanner(fileContents); 
     while(inputFile.hasNextDouble()) 
     { 
      double result; 
      double conversionRate = 0.78; 
      double currencyFrom = inputFile.nextDouble(); 
      result = currencyFrom * conversionRate; 
      System.out.println("£" + currencyFrom + " = " + "€" + result); 
     } 
     inputFile.close(); 

    } 
Verwandte Themen