我的CS课有以下作业:
编写一个名为boyGirl的方法,该方法接受一个Scanner,该Scanner正在从包含一系列名称后跟整数的文件中读取其输入。名字在男孩名字和女孩名字之间交替。您的方法应该计算出男孩整数和女孩整数之和的绝对差。
这是我的代码:
import java.io.*;
import java.util.*;
public class Chapter_6_Exercises
{
public static void main(String[] agrs)
throws FileNotFoundException {
Scanner a = new Scanner(new File("c6e1.txt"));
boyGirl(a);
}
public static void boyGirl(Scanner input)
throws FileNotFoundException {
int boySum = 0;
int girlSum = 0;
int count = 0;
int sumDifference = 0;
while(input.hasNextInt()) {
count++;
if(count%2 == 0) {
girlSum += input.nextInt();
} else {
boySum += input.nextInt();
}
}
sumDifference = Math.abs(boySum-girlSum);
System.out.println("boySum = " + boySum);
System.out.println("girlSum = " + girlSum);
System.out.println("Difference between boys' and girls' ");
System.out.println("sums is " + sumDifference);
}
}
代码编译文件,但是当我尝试运行它时,出现以下错误:
java.io.FileNotFoundException: c6e1.txt (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.util.Scanner.<init>(Scanner.java:611)
at Chapter_6_Exercises.main(Chapter_6_Exercises.java:7)
但是,我已经创建了文件c6e1.txt,我不确定如何解决该错误。
答案 0 :(得分:1)
您必须像这样给文件提供正确的路径,
Scanner a = new Scanner(new File("C:\\data\\c6e1.txt"));
如果将路径指定为c6e1.txt,它将无法识别它。如果文件在您的项目,资源目录中,则必须提供相对路径,或者像我上面那样考虑提供文件的绝对路径。
答案 1 :(得分:-1)
Scanner a = new Scanner(new File("c6e1.txt"));
仅当“ .txt”文件位于“ .java”文件所在的位置时,Java才会接受它。在其他情况下,您必须将“ .txt”文件的完整位置(路径)提到为(“ C:(folder \ c6e1.txt”)
答案 2 :(得分:-2)
您应该为该文件提供完全限定的名称。 例如: 系统D中的文件:驱动器 D:/下载/文件名.txt