gpt4 book ai didi

java - 当相同的 printf 方法在控制台上正确打印出来时,如何解决 Eclipse 调试器窗口上的 java printf 问题 ("source not found.")?

转载 作者:行者123 更新时间:2023-12-02 01:36:05 26 4
gpt4 key购买 nike

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

Here is the debugger error message.但是,它仍然在控制台上打印出 find ,并且仅在调试器窗口上显示错误消息,并且不会让我继续到存在“真正”错误的下一行。 Here is the stacktrace.

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");
}

最佳答案

使用调试器时,当您“单步执行”任何方法时,它会尝试向您显示该方法的源代码。如果找不到源,它仍然可以单步执行,但无法向您显示相应的源。如果它无法单步执行,它仍然可以执行代码。

您的“FileNotFound”异常告诉您,它找不到您的代码尝试打开的文件(或者可能是您尝试在其中创建文件的文件夹)。请记住,任何相对文件位置都取决于了解运行代码的进程在其中启动的“默认目录”。您可以通过确保只有绝对文件位置(即以驱动器上的根目录开头的文件位置)来解决该问题,尽管这对于编写在不同计算机上运行的程序来说可能是一个问题。不过,作为学习中的练习,我认为这样做还是可以的。

关于java - 当相同的 printf 方法在控制台上正确打印出来时,如何解决 Eclipse 调试器窗口上的 java printf 问题 ("source not found.")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55242728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com