因此,我似乎无法让我的程序读取文件“ testOne.txt”,并且该文件不断抛出未找到的文件异常。我正在使用eclipse,并将testOne.txt文件保留在项目的src文件夹中。我希望另一双眼睛可以发现为什么我的程序找不到文本文件。
*编辑-我能够解决最初的问题,但是我遇到的另一个问题与原始问题无关。现在我在Main类的第8行上得到了一个NullPointerException(我刚刚在BubbleSort类的下面发布了)。是因为我错误地声明了数组还是其他东西?
package cse.unl;
import java.util.*;
import java.io.File;
import java.io.FileNotFoundException;
public class BubbleSort {
int[] array;
public BubbleSort(String filename) {
Scanner scanner;
try {
scanner = new Scanner(new File("testOne.txt"));
} catch (FileNotFoundException ex) {
System.out.println("File Not Found");
return;
}
while(scanner.hasNext()){
String[] numbers = scanner.next().split(",");
int array[] = new int[numbers.length];
for (int i=0; i<numbers.length; i++){
array[i] = Integer.parseInt(numbers[i]);
}
}
}
public void print() {
for(int m=0; m<array.length;m++){
System.out.println(array[m]);
}
}
public void sort() {
for(int j=0; j<array.length;j++){
if(array[j]>array[j-1]){
int temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}
}
}
}
*编辑-主班
package cse.unl;
public class Main {
public static void main(String args[]){
BubbleSort myBubSort = new BubbleSort("tesOne.txt");
myBubSort.sort();
myBubSort.print();
}
}
最佳答案
尝试
new File("src/testOne.txt")
编辑:
对于您的第二个问题,我看到您的类
int[] array
的BubbleSort
字段未初始化(导致NPE)我看到您在构造函数中使用了局部变量(请记住,局部变量优先于类字段)
String[] numbers = scanner.next().split(",");
(here) ---> int array[] = new int[numbers.length];
它应该是
String[] numbers = scanner.next().split(",");
array = new int[numbers.length];
这样就可以初始化class字段。