Java从文件中读取内容并应用于公式

时间:2017-08-20 12:43:33

标签: java file formula

尝试阅读文件内容并应用于公式

e.g 如果文件包含

  

7

     

9.50

     

1.25

输出将是

  

€7.0 =£5.46

     

€9.5 =£7.41

     

€1.25 =£0.975

我的代码:

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();

        }
    }
}

1 个答案:

答案 0 :(得分:0)

你只是不知道如何阅读文件,对吗?这很简单。如果您之前使用过Scanner,则应该知道有一个名为nextDouble的方法会返回下一个double值。你应该使用这种方法。

只需将??替换为inputFile.nextDouble()

但是,您的代码还有一些问题。

  • 由于该文件包含double个值,请使用hasNextDouble代替hasNextInt

  • 您应该在创建Scanner之前检查文件是否存在。否则会引发异常。

  • 您不应该打印fileContents。相反,你应该把你从文件中获得的值放在变量中,然后打印变量。

以下是一些代码:

    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();

    }