Flip True False


Submit solution

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

Authors:
Problem type
Allowed languages
Java 19, Java 8

這個程式允許使用者輸入一個整數n和n個字串,每個字串都是"True"或是"False"(注意這是字串而不是boolean值)。

輸入完成之後,程式會翻轉每個字串,如果字串原本是"True",就改成"False",如果字串原本是"False",就改成"True"。

這個程式目前仍缺少flip函數的實作,請完成它,並且上傳完整的程式。 除了flip函數之外,請勿修改其他已經寫好的部分,違反此規則者,無論自動評測結果為何,在考試中均不計分。但允許輕微的排版差異。

程式完成之後,可用以下測試資料做初步的測試,但仍請自行設計完整的測試資料

輸入 #1:

3 True False False

輸出 #1:

False True True

輸入 #2:

2 True True

輸出 #2:

False False

import java.util.Scanner;

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

        // 讀取整數,這是使用者輸入的第一個數字,表示接下來有幾個字串
        int n = scanner.nextInt();
        // 創建一個字串陣列,大小為 n
        String[] values = new String[n];

        // 讀取 n 個字串,並將其存儲在 values 陣列中
        for (int i = 0; i < n; i++) {
            values[i] = scanner.next();
        }

        // 呼叫 flip() 方法翻轉每個字串,翻轉的規則是 "True" 變為 "False","False" 變為 "True"
        // flip() 方法的參數是一個字串,返回值也是一個字串,會更新 values 陣列中的對應字串
        for (int i = 0; i < n; i++) {
            values[i] = flip(values[i]);
        }

        // 印出翻轉後的每個字串
        for (int i = 0; i < n; i++) {
            System.out.print(values[i] + " ");
        }

        scanner.close();
    }

    // 這個方法翻轉一個字串,翻轉的規則是 "True" 變為 "False","False" 變為 "True"
    public static ... flip(...) {
        ...
    }
}

Comments


  • 0
    scu09156146  commented on April 26, 2024, 2:39 p.m.

    題解

    import java.util.Scanner;
    
    public class FlipTrueFalse {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
            String[] values = new String[n];
    
            for (int i = 0; i < n; i++) {
                values[i] = scanner.next();
            }
    
            // 呼叫 flip() 方法
            for (int i = 0; i < n; i++) {
                values[i] = flip(values[i]);
            }
    
            // 印出翻轉後的每個字串
            for (int i = 0; i < n; i++) {
                System.out.print(values[i] + " ");
            }
    
            scanner.close();
        }
    
        // 翻轉規則: "True" 變為 "False","False" 變為 "True"
        public static String flip(String tf) {
            return (tf.equals("True")) ? "False" : "True";
        }
    }