尝试阅读文件内容并应用于公式
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();
}
}
}
答案 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();
}