[英]Java if Statement, 'Else' Executing Anyway
我正在學習Java,希望有一天能夠擅長Java。 現在我正在玩If Statements。 我在玩游戲時制作了以下代碼:
import java.util.Scanner;
class programBegin {
public static void main(String args[]) {
int myNum;
Scanner sc = new Scanner(System.in); // Creates variable sc as type Scanner
System.out.println("Enter a number between 1 and 10: ");
myNum = sc.nextInt(); // Requests input and will store it as type int.
if (myNum > 5) {
System.out.println("Your number is greater than 5.");
}
if (myNum == 5) {
System.out.println("your number is equal to 5.");
} else {
System.out.println("Your number is less than 5.");
}
}
}
例如,如果我輸入6,我得到的輸出是:
您的電話號碼大於5。
您的電話號碼小於5。
除非之前的陳述是假的,否則我認為不應該執行其他事情?
你在if (myNum == 5)
之前錯過了一個else
。
if (myNum > 5) {
System.out.println("Your number is greater than 5.");
} else if (myNum == 5) {
System.out.println("your number is equal to 5.");
} else {
System.out.println("Your number is less than 5.");
}
如果,將其更改為else
if (myNum > 5) {
} else if (myNum == 5) {
} else {
}
如果你在第二個if之前添加一個else,它將按預期工作。
您的代碼相當於“如果數字超過5,則打印此數據。如果數字為5,則打印此數據。如果數字不是5,則打印此數據。”
你的else
語句對應於if (myNum == 5)
而不是if (myNum > 5)
。
你可能希望在這里使用if-else語句。
if (myNum > 5) {
System.out.println("Your number is greater than 5.");
} else if (myNum == 5) {
System.out.println("your number is equal to 5.");
} else {
System.out.println("Your number is less than 5.");
}
在第一個if
..... 它不存在塊 ....它還檢查第二個if ...並且作為它的假..它進入其他...
試試這種方式....
if (myNum > 5) {
System.out.println("Your number is greater than 5.");
}
if (myNum == 5) {
System.out.println("your number is equal to 5.");
}
else if(myNum < 5) {
System.out.println("Your number is less than 5.");
}
要么
if (myNum > 5) {
System.out.println("Your number is greater than 5.");
}
else if (myNum == 5) {
System.out.println("your number is equal to 5.");
}
else (myNum < 5) {
System.out.println("Your number is less than 5.");
}
你需要把你的第二個if if變成else if語句,因為第二個if總是被檢查並且它返回false因為6!= 5,這意味着你的其他人將被評估。
您可以使用它來獲得更高的性能。
這里如果mynum大於5,則會省略另外兩個ifs:
if (myNum > 5) {
System.out.println("Your number is greater than 5.");
} else{
if (myNum == 5) {
System.out.println("your number is equal to 5.");
} else if(myNum < 5) {
System.out.println("Your number is less than 5.");
}
}
這是兩個不同的'if'語句被執行而不是一個。 有很多方法可以解決這個問題...請參閱上面的許多不同方法:)有趣的是,知道不放一個單詞可以有不同的輸出,或者在這種情況下,輸出多個。 在這種情況下,'else if'將是修復小錯誤的好方法。 祝你學習順利。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.