Number Classifier


Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type

題目說明

請完成一個程式,該程式允許使用者輸入一個整數 n,接著輸入 n 個整數。程式需要將每個整數歸類至以下四種類型之一:

  • "PosEven":正偶數(大於 0 且為偶數)
  • "PosOdd":正奇數(大於 0 且為奇數)
  • "NegEven":負偶數(小於 0 且為偶數)
  • "NegOdd":負奇數(小於 0 且為奇數)
  • "Zero":零
  • 在提供的程式碼中,main 方法已經完成,但 classifyNumbers 方法尚未實作。請完成 classifyNumbers 方法,使其能夠將整數陣列轉換成對應的字串陣列。

程式模板

import java.util.Scanner;

public class NumberClassifier {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 由使用者輸入一個整數 n,代表接下來有 n 個整數
        int n = scanner.nextInt();
        // 創建一個整數陣列,大小為 n
        int[] numbers = new int[n];
        // 接著讀取 n 個整數,並將它們存儲在 numbers 陣列中
        for (int i = 0; i < n; i++) {
            numbers[i] = scanner.nextInt();
        }

        // 將整數陣列轉換為字串陣列,依照數字的特性將其分類
        // 例如,如果 numbers = [-2, -1, 0, 1, 2],則返回值是 ["NegEven", "NegOdd", "Zero", "PosOdd", "PosEven"]
        String[] result = classifyNumbers(numbers);

        // 輸出字串陣列
        for (int i = 0; i < result.length; i++) {
            System.out.print(result[i] + " ");
        }

        scanner.close();
    }

    // 這個函數將整數陣列轉換為字串陣列,根據每個整數的特性進行分類
    // 參數是一個整數陣列,返回值是一個字串陣列
    // 分類規則:
    // "PosEven":正偶數(大於 0 且為偶數)
    // "PosOdd":正奇數(大於 0 且為奇數)
    // "NegEven":負偶數(小於 0 且為偶數)
    // "NegOdd":負奇數(小於 0 且為奇數)
    // "Zero":零
    public static ... classifyNumbers(...) {
        // 請在此處完成函數實作
    }
}

輸入值的格式

  • 第一個數字為一個整數 n(1 ≤ n ≤ 100),表示接下來有 n 個整數
  • 後面接著 n 個以空格分隔的整數,每個整數的範圍為 -1000 ≤ 整數 ≤ 1000

輸出值的格式

  • 輸出 n 個以空格分隔的字串,每個字串代表對應整數的分類

邊界條件提示

  • 輸入可能包含零
  • 輸入的整數數量 n 可能非常小(如 1)或相對較大(如 100)
  • 所有輸入可能都屬於同一類型

範例輸入 #1

5 -2 -1 0 1 2

範例輸出 #1

NegEven NegOdd Zero PosOdd PosEven

說明:-2 是負偶數,-1 是負奇數,0 是零,1 是正奇數,2 是正偶數


Comments

There are no comments at the moment.