我想在我的循環中只有在超過聲速之後纔打印一條消息。
我在以下主題上找到了某人解釋如何用布爾值來實現它,但我沒有得到它。 這是我已經試過:做while循環:在循環內執行一次
boolean oneTime = (vitesse > 343)
if (oneTime)
System.out.println("Felix depasse la vitesse du son");
而且我的代碼
while (h > 0)
{
while (speed < 343 && accel>0.5)
{
double s = surface/ masse;
double q = Math.exp(-s*(t-t0));
vitesse = (g/s)*(1-q) + v0*q;
hauteur = h0 - (g/s)*(t-t0)-((v0-(g/s))/s)*(1-q);
accel = g-s*vitesse; //formula to compute the fall of a body
if (h > 0)
{
if (speed > 343)
{
System.out.println("## Felix depasse la vitesse du son");
System.out.printf("%.0f, %.4f, %.4f, %.5f\n",t, hauteur, vitesse, accel);
}
else if (accel <0.5)
{
System.out.println("## Felix depasse la vitesse du son");
System.out.printf("%.0f, %.4f, %.4f, %.5f\n",t, hauteur, vitesse, accel);
}
else
System.out.printf("%.0f, %.4f, %.4f, %.5f\n",t, hauteur, vitesse, accel);
}
++t;
}
}
execute an instruction only one time in a do while loop in java
只需添加一個'break'當你需要退出你的循環。而且你有兩個while循環,而不是在解決這個問題時做任何事情 –