我遇到了错误
Exception in thread "main" java.lang.NumberFormatException: For input string: "scores.txt"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Double.parseDouble(Double.java:510)
at ExamAverage.main(ExamAverage.java:30)
C:\Users\Peter\AppData\Local\Temp\codecomp5461808896109186034.xml:312: Java returned: 1
对于下面列出的我的代码,此错误是什么意思?我正在尝试从给定的文本文件路径一行一行地输出,并以某种格式输出。
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.io.PrintWriter;
public class ExamAverage
{
public static void main(String[] args)
throws FileNotFoundException
{
String inputFileName = "scores.txt";
String outputFileName = "examScoreAverage.txt";
Scanner console = new Scanner(System.in);
Scanner in = new Scanner(inputFileName);
PrintWriter out = new PrintWriter(outputFileName);
int TestNumber = 1;
double totalPoints = 0;
double avg = 0;
double test = 0;
while (in.hasNextLine())
{
String line = in.nextLine();
test = Double.parseDouble(line);
out.println("Score" + TestNumber + " : " + test);
totalPoints += test;
TestNumber++;
}
avg = totalPoints/TestNumber;
out.println("Number of scores read: " + TestNumber );
out.println("Average Score " + avg );
in.close();
out.close();
}
}
最佳答案
http://download.oracle.com/javase/6/docs/api/java/util/Scanner.html
看来您认为可以将文件名传递给Scanner
并打开它。Scanner
的构造函数没有采用您认为的方式将文件名作为参数。您所拥有的是一台正在扫描String
“ scores.txt”的扫描仪
JavaDocs向您展示如何正确使用Scanner
类来读取文件:
Scanner in = new Scanner(new File(inputFileName));
关于java - txt文件输入错误Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7989334/