宿題の一環として、ニュートン法と Math.sqrt を使用して平方根を見つけるのにかかる時間を比較するプログラムを使用し、文字が入力されたときにプログラムを停止する方法を実装する必要があります。ご覧のとおり、メソッド 'stop to do this を作成しましたが、それを main メソッドに入れる方法がわかりません。文字「s」が入力されたときにメソッドを呼び出すifステートメントを作成しようとしましたが、これにより、文字が入力されるまでプログラムが停止しました。私の計画は、if ステートメントを両方の for ループ (ほとんどの場合実行されるループ) 内に配置し、文字が入力されていない場合は if ステートメントを無視することでしたが、これを達成する方法がわかりません。この時点で何をすべきかわからないので、助けていただければ幸いです。ありがとう
public class Compare
{
private final long start;
public Stopwatch()
{ start = System.currentTimeMillis(); }
public double elapsedTime()
{
long now = System.currentTimeMillis();
return (now - start) / 1000.0;
}
public void stop()
{
System.out.println("The Stopwatch program has been halted");
System.exit(0);
}
public static void main(String[] args)
{
double s = 0;
int N = Integer.parseInt(args[0]);
double totalMath = 0.0;
Stopwatch swMath = new Stopwatch();
for (int i = 0; i < N; i++)
{
totalMath += Math.sqrt(i);
}
double timeMath= swMath.elapsedTime();
double totalNewton = 0.0;
Stopwatch swNewton = new Stopwatch();
for (int i = 0; i < N; i++)
{
totalNewton += Newton.sqrt(i);
}
double timeNewton = swNewton.elapsedTime();
System.out.println(totalNewton/totalMath);
System.out.println(timeNewton/timeMath);
}
}