如何解决Java printf问题(“找不到源代码”)

我的代码没有运行,所以我使用eclipse调试器,一旦我到达printf部分,它就显示一条错误消息:找不到源代码。


下面是调试器错误消息。但是,它仍然在控制台上打印出find,并且仅在调试器窗口中显示错误消息,并且不允许我继续执行存在“真实”错误的下一行。下面是堆栈跟踪。


System.out.printf("a: %d\n", curElement.a);

System.out.printf("%d %d %d %d   ", curElement.a, curElement.b, curElement.c, curElement.io);

上面的这两行似乎在调试器窗口中出现“找不到源”错误。你能帮我解决我的printf问题吗?谢谢。


public class Scheduling2 {

    public static void main(String args[]) {


    try {

        String fileAddress = args[0];

        File fileInput  = new File(fileAddress); //Read

        Scanner scan    = new Scanner(fileInput);

        int numProcesses  = scan.nextInt();

        Queue<Process> processes = new LinkedList<Process>();

        ArrayList<Process> allProcesses = new ArrayList<Process>();

        //LinkedList processes = new LinkedList(); //No need to define the size

        int currNumProcesses = 0;


        //Adding each process to processes queue

        for (int m = 0; m < numProcesses; m++) {

            int a = scan.nextInt();

            int b = scan.nextInt();

            int c = scan.nextInt();

            int io = scan.nextInt();

            Process thisProcess = new Process(a, b, c, io); 

            thisProcess.id = m;

            processes.add(thisProcess);

            allProcesses.add(thisProcess);

            currNumProcesses++;

        }

        printQueue(processes, numProcesses);

        FCFS(processes, numProcesses, allProcesses);

        printQueue(processes, numProcesses);

    }   

    catch (Exception e){

        e.printStackTrace();

            System.out.printf(" Error: File not foundd. \n");

    }

}

public static void printQueue (Queue processes, int numProcesses) {

    Process curElement = (Process) processes.poll();

    System.out.printf("The original input was:  ");

    while(curElement != null) { 

        System.out.printf("a: %d\n", curElement.a);

        System.out.printf("%d %d %d %d   ", curElement.a, curElement.b, curElement.c, curElement.io);

        curElement = (Process) processes.poll();

    }

    System.out.print("\n\n");

}


婷婷同学_
浏览 130回答 1
1回答

红颜莎娜

使用调试器时,当您“单步执行”任何方法时,它会尝试向您显示该方法的源代码。如果它找不到源,它可能仍然能够步进,但无法向您显示相应的源。如果它无法单步执行,它仍然可以执行代码。“FileNotFound”异常告诉您,它找不到代码尝试打开的文件(或者可能是您尝试在其中创建文件的文件夹)。请记住,任何相对文件位置都取决于知道运行代码的进程开始时所在的“默认目录”。您可以通过确保只有绝对文件位置(即以驱动器上的根目录开头的文件位置)来解决此问题,尽管这对于编写在不同计算机上运行的程序来说可能是一个问题。不过,对于在学习的同时进行练习,我认为这样做是可以的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java