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

Java read contents from a file and apply to formula

正在尝试读取文件内容并应用于公式

例如 如果文件包含

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

        }
    }
}

你只是不知道如何读取文件,对吧?这简单。如果你以前用过Scanner,你应该知道有一个叫做nextDouble的方法,它returns下一个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();

    }