Number Pair Calculator


Submit solution

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

Authors:
Problem type
Allowed languages
Java 19, Java 8

這個程式允許使用者輸入一連串的數字配對,首先,第一個數字n表示使用者後續將輸入n組數字配對,在n之後,接著n組數字配對(共2n個數字),每組數字配對都由一個整數和一個浮點數組成。例如2 10 10.5 20 20.5 代表有兩組數字配對,分別是(10, 10.5)和(20, 20.5)。

輸入完成之後,程式會輸出每個數字配對的加總,然後再輸出每個數字配對的乘積。

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

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

輸入 #1:

2 1 0.5 3 1.5

輸出 #1:

1.5 4.5 0.5 4.5

輸入 #2:

2 3 3 4 4

輸出 #2:

6.0 8.0 9.0 16.0

import java.util.Scanner;

// 這個Class表示一對數字,包括一個整數和一個浮點數,並提供計算它們的加總和乘積的函數
class NumberPair {
    ...
}

public class Calculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 讀取數字配對的數量,這是使用者輸入的第一個數字
        int n = scanner.nextInt();
        // 創建NumberPair對象的陣列
        NumberPair[] numberPairs = new NumberPair[n];

        // 接著讀取 n 組數字配對,並為每個數字配對創建NumberPair物件,然後將其添加到陣列中
        for (int i = 0; i < n; i++) {
            int number1 = scanner.nextInt();
            double number2 = scanner.nextDouble();

            // 創建NumberPair物件,並將其添加到陣列中
            numberPairs[i] = new NumberPair(number1, number2);
        }

        // 輸出每一組數字配對的加總
        for (int i = 0; i < n; i++)
            System.out.print(numberPairs[i].getSum() + " ");

        // 輸出每一組數字配對的乘積
        for (int i = 0; i < n; i++)
            System.out.print(numberPairs[i].getProduct() + " ");

        scanner.close();
    }
}

Comments


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

    題解

    import java.util.Scanner;
    
    //這個Class表示一對數字,包括一個整數和一個浮點數
    //提供計算加總和乘積的函數
    class NumberPair {
        int number1;
        double number2;
    
        NumberPair(int n1, double n2) {
            number1 = n1;
            number2 = n2;
        }
    
        // 計算加總的函數
        public double getSum() {
            return number1 + number2;
        }
    
        // 計算乘積的函數
        public double getProduct() {
            return number1 * number2;
        }
    }
    
    public class Calculator {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            // 讀取數字配對的數量
            int n = scanner.nextInt();
            // 創建NumberPair對象的陣列
            NumberPair[] numberPairs = new NumberPair[n];
    
            // 讀取 n 組數字配對,並為每個數字配對創建NumberPair物件
            for (int i = 0; i < n; i++) {
                int number1 = scanner.nextInt();
                double number2 = scanner.nextDouble();
    
                // 創建NumberPair物件,並將其添加到陣列中
                numberPairs[i] = new NumberPair(number1, number2);
            }
    
            // 輸出每一組數字配對的加總
            for (int i = 0; i < n; i++)
                System.out.print(numberPairs[i].getSum() + " ");
    
            // 輸出每一組數字配對的乘積
            for (int i = 0; i < n; i++)
                System.out.print(numberPairs[i].getProduct() + " ");
    
            scanner.close();
        }
    }