Wenn ich 20 für current5 eingeben, sollte minuteCurrent 240 sein, aber Teil funktioniert weiter, auch wenn minuteCurrent über 240 ist. Warum? Ich habe so viele Dinge ausprobiert, aber sie haben nicht geholfen.Warum ist diese Do-while-Berechnung falsch?
import java.util.Scanner;
class Person {
String name;
int heartRatePer5;
int current5;
void alarm() {
for (int i = 0; i < 3; i++)
System.out.print("!!! ");
System.out.println();
}
void stopAlarm() {
System.out.println("Alarm stopped");
}
}
public class App{
public static void main(String[] args) {
Person person1 = new Person();
Scanner input = new Scanner(System.in);
System.out.println("Enter the current heart rate per 5 seconds: ");
person1.current5 = input.nextInt();
int minuteCurrent = person1.current5 * 12;
// minuteCurrent = 0;
do {
System.out.println("Normalizing.");
person1.stopAlarm();
//minuteCurrent = input.nextInt();
break;
}
while (minuteCurrent < 220);
}
}
http://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – Biffen
Ihr 'Do-While' stoppt immer beim ersten Lauf, weil Sie am Ende" Pause "haben . Hast du vor, eine if-Aussage zu haben? –
Schneiden Sie Ihren Code bitte auf https://Stackoverflow.com/help/mcve herunter. Der ganze "Alarm" wird nicht benötigt. – Robert