題目描述
使用「if-else」條件式結構可以控制Java程式的流程。本題將會測試您對「if-else」結構的認知。
輸入一個整數N,並依照以下不同的條件來進行動作。
如果N是奇數,輸出「Weird」。
如果N是偶數,且它的範圍在2到5之間(包括2和5),輸出「Not Weird」。
如果N是偶數,且它的範圍在6到20之間(包括6和20),輸出「Weird」。
如果N是偶數,且它大於20,輸出「Not Weird」。
如果N是偶數,且它的範圍在2到5之間(包括2和5),輸出「Not Weird」。
如果N是偶數,且它的範圍在6到20之間(包括6和20),輸出「Weird」。
如果N是偶數,且它大於20,輸出「Not Weird」。
原題網址
輸入格式
每一行輸入中,只會有一個整數N,數值範圍在1到100之間(包含1到100)。
輸出格式
只有「Weird」或是「Not Weird」。
範例輸入1
3
範例輸出1
Weird
範例輸入2
24
範例輸出2
Not Weird
解題概念
由於輸出情況只有「Weird」或是「Not Weird」兩種,我們可以只判斷其中一種輸出的條件,剩下不符合條件的自然就會是另一種輸出,可以使用「if-else」結構來輕易完成這個題目。用餘數運算子「%」可以計算整數除2之後的餘數,若餘數為1,表示整數為奇數。這裡可以注意的地方是,若整數的判斷結果不是奇數,那它一定是偶數,就不需要再做餘數是否等於0的判斷了。所以,當整數是奇數,或是整數的範圍是在6到20之間時,就輸出「Weird」;若不是,則輸出「Not Weird」。
參考答案
import java.util.Scanner;
public class Solution {
public static void main(final String[] args) {
final Scanner sc = new Scanner(System.in);
final int n = sc.nextInt();
final String ans;
if (n % 2 == 1 || n >= 6 && n <= 20) {
ans = "Weird";
} else {
ans = "Not Weird";
}
System.out.println(ans);
}
}