我在代码的最后部分找不到我的错误。最后一部分(printMyProgress()
)方法无法正常工作。
调用printMyProgress()
的名为printStudentProgress()
的方法,将调用getMyName()
和getMyTimeSoFar()
方法返回的值作为参数传递。
public class first {
String getMyName() {
String name = "Nat";
return name;
}
int getMyTimeSoFar() {
int time=0;
return time;
}
void printStudentProgress(String name, int time) {
String minute ="";
if (time>1)
minute = "minutes";
else minute= "minute";
print (name + " took " +time+ " "+ minute+" to reach Q7 in the Exam");
}
int printMyProgress() {
String name = "Nat";
int time=0;
printStudentProgress(name, time);
return printMyProgress();
}
}
答案 0 :(得分:2)
由于方法printMyProgress
中的这个陈述:
return printMyProgress();
该方法将永远递归。如果您不依赖于返回值的方法,请使该方法不返回任何内容(使用void
关键字而不是int
)并删除return语句:
void printMyProgress() {
String name = "Nat";
int time=0;
printStudentProgress(name, time);
}
答案 1 :(得分:0)
最后一个方法是递归(调用自身)。由于没有代码可以突破这种递归,应用程序最终会(快速)耗尽内存并崩溃。