我有一個開關和if語句,它們是等價的。他們都應該採取一個字符串,如果是的話做一些事情,如果沒有做另一件事。 if語句不管輸入什麼都不做任何事情,但switch語句會做。這是爲什麼?如果和Switch切換同一個任務,結果不一樣?
這裏的if語句:
if (yes.equals("yes")){
System.out.println ("Enter your first number");
fnum = x.nextDouble();
System.out.println ("Enter your second number");
snum = x.nextDouble();
calculations(fnum, snum);
}
if (yes.equals("No")) {
System.out.println("okay, bye then!");
}
下面是開關:
switch (yesno){
case "yes":
System.out.println ("Enter your first number");
fnum = x.nextDouble();
System.out.println ("Enter your second number");
snum = x.nextDouble();
calculations(fnum, snum);
break;
case "no":
System.out.println("k bye");
這不是重複的,因爲這個問題是if語句。我的交換機被標記爲「重複」。
1)你的交換機需要一個'break'語句。 2)您的「創意」使用代碼縮進需要改進。 –
我懷疑他們是否真的「進入」了。調試並逐步完成。 – chrylis
你對break語句是正確的(我在編輯時添加了),但爲什麼if語句不工作? –