因此,我似乎无法让我的程序读取文件“ testOne.txt”,并且该文件不断抛出未找到的文件异常。我正在使用eclipse,并将testOne.txt文件保留在项目的src文件夹中。我希望另一双眼睛可以发现为什么我的程序找不到文本文件。

*编辑-我能够解决最初的问题,但是我遇到的另一个问题与原始问题无关。现在我在Main类的第8行上得到了一个N​​ullPointerException(我刚刚在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[] arrayBubbleSort字段未初始化(导致NPE)

我看到您在构造函数中使用了局部变量(请记住,局部变量优先于类字段)

    String[] numbers = scanner.next().split(",");
    (here) ---> int array[] = new int[numbers.length];


它应该是

    String[] numbers = scanner.next().split(",");
    array = new int[numbers.length];


这样就可以初始化class字段。

10-07 23:37