-1

コードの最後の部分に間違いが見つかりません。最後の部分 ( 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();  
   }
}
4

2 に答える 2

2

method 内のこのステートメントのためprintMyProgress

return printMyProgress();

メソッドは永久に再帰します。値を返すメソッドに依存しない場合は、(voidの代わりにキーワードを使用してint) メソッドが何も返さないようにし、return ステートメントを削除します。

void printMyProgress() {
   String name = "Nat";
   int time=0;
   printStudentProgress(name, time);
}
于 2013-10-30T22:40:20.877 に答える
0

最後のメソッドは再帰的です (自分自身を呼び出します)。この再帰から抜け出すコードがないため、アプリケーションは最終的に (すぐに) メモリ不足になり、クラッシュします。

于 2013-10-30T22:40:52.950 に答える