當我爲current5輸入20時,minuteCurrent應該是240,但即使minuteCurrent超過240,部分也會繼續工作。爲什麼?我嘗試了更多的東西,但他們沒有幫助。這是爲什麼 - 而計算是錯誤的?
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
你的'do-while'將在第一次運行時總是停止,因爲你最後有'break' 。你的意思是在它之前有一個if語句嗎? –
請將您的代碼修改爲https://stackoverflow.com/help/mcve。整個「警報」是不需要的。 – Robert