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();
}
正在尝试读取文件内容并应用于公式
例如 如果文件包含
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();
}