내 exercice에 루프 A 확률값을 가지고 속도가 343m/s의이 초과 할 때 나는 콘솔에 인쇄 할 :나는 속도가 매초마다 업데이트됩니다
펠릭스 depasse 라 비테세 뒤 아들
을 속도가 나는이 작업을 수행 할 수있는 방법 (343)을 초과하기 전에
은 한 번만 인쇄됩니다?
이 코드를 수행하면 속도가 343을 초과 할 때마다 인쇄됩니다. 한 번만 인쇄하려면 어떻게해야합니까?
import java.util.Scanner;
class Parachutiste {
private static Scanner clavier = new Scanner(System.in);
public static void main(String[] args) {
double masse = 80.0;
do {
System.out.print("masse du parachutiste (>= 40) ? ");
masse = clavier.nextDouble();
} while (masse < 40.0);
double h0 = 39000.0;
do {
System.out.print("hauteur de depart du parachutiste (>= 250) ? ");
h0 = clavier.nextInt();
} while (h0 < 250.0);
double g=9.81;
double v0=0;
double t0=0;
double vitesse=v0;
double hauteur=h0;
double accel=g;
double t=t0;
double surface=2;
double q;
do{
if(vitesse>343){
System.out.println("## Felix depasse la vitesse du son");
}
double sm=surface/masse;
q=Math.exp((-sm*(t-t0)));
vitesse=(g/sm)*(1-q)+(v0*q);
hauteur = h0-((g/sm)*(t-t0))-((v0-(g/sm))/sm)*(1-q);
accel=g-(sm*vitesse);
if(hauteur>0){
// Utilisez cette ligne pour l'affichage
System.out.format("%.0f, %.4f, %.4f, %.5f\n",
t, hauteur, vitesse, accel);}
t++;
}
while(hauteur>0);
}
}
vitesse가 343을 초과하면 'vitesse' 계산을 계속 하시겠습니까? 그렇지 않다면 println 문 다음에 간단한'break;'를 넣으십시오. 그렇지 않으면 부울 조건을 사용하여 이미 메시지를 인쇄했는지 확인하십시오. – m4rtin
휴식 시간을 추가 할 때 for 루프도 빠져있을 것이며 부울을 추가하면 작동하지 않습니다. – Salma
코드에 for 루프가없고 부울 솔루션이 다른 두 SO 멤버가 제공 한 것입니다 , 나는 그것이 일해야한다고 생각한다. – m4rtin