0

私が次のような単純なコードのチャンクを持っている場合:

public void tracePath(){
   int steps = 0;
   steps = bfs();       
   if(steps==0){
      pathFound(false);
      System.exit(0);
   }else{
      System.out.println(steps);
      pathFound(true);
      System.exit(0);
   }
}

AFAIKこれはの人なしで書き直すことができます

public void tracePath(){
   int steps = 0;
   steps = bfs();       
   if(steps==0){
      pathFound(false);
      System.exit(0);
   }
   System.out.println(steps);
   pathFound(true);
   System.exit(0);
}

パフォーマンス(または他の論理的な)理由があるので、他のものを保持(または失う)しますか?それとも(この例では)文体の選択ですか?

4

3 に答える 3

1

この場合、ifステートメントの最後で終了するため、文体の好みになります。ifの最後にsystem.exit(0)がない場合、2番目の例では、両方のコードを実行します。

于 2012-07-12T03:52:24.273 に答える
1

私はそれをこれに変更します:

public void tracePath(){
int steps = 0;
steps = bfs();       
pathFound((!(steps==0)));

System.exit(0);
}
于 2012-07-12T06:44:50.280 に答える
0

私はそれを少し変更します、これに:

public void tracePath(){
   int steps = 0;
   steps = bfs();       
   if(steps==0){
      pathFound(false);
   }else{
      System.out.println(steps);
      pathFound(true);
   }
   System.exit(0);
}

正直なところ、とSystem.exit呼ばれる関数からの呼び出しはtracePath、そもそも少し極端に思えますが。

于 2012-07-12T03:54:17.217 に答える