1. 程式人生 > >java-1011 A+B和C (15)(15 分)

java-1011 A+B和C (15)(15 分)

一、題幹

1011 A+B和C (15)(15 分)

給定區間[-2^31^, 2^31^]內的3個整數A、B和C,請判斷A+B是否大於C。

輸入格式:

輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組佔一行,順序給出A、B和C。整數間以空格分隔。

輸出格式:

對每組測試用例,在一行中輸出“Case #X: true”如果A+B>C,否則輸出“Case #X: false”,其中X是測試用例的編號(從1開始)。

輸入樣例:

4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647

輸出樣例:

Case #1: false
Case #2: true
Case #3: true
Case #4: false

二、分析

1.首先,範圍肯定是超過int的界限的,我們就用long

2.程式碼:

package PTA.basic.APlusBCompareToC1011;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class APlusBCompareToC {

    public static void main(String[] args) throws Exception {
        main();
    }

    public static String[] getData() throws Exception {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        int size = Integer.parseInt(bufferedReader.readLine());
        String[] targetInt = new String[size];
        for (int i = 0 ; i < targetInt.length ; i ++)
            targetInt[i] = bufferedReader.readLine();
        return targetInt;
    }

    public static void main() throws Exception {
        String[] target = getData();
        long[] aim = null;
        for (int i = 0 ; i < target.length ; i ++) {
            aim = splitToLongArray(target[i]);
            System.out.println("Case #" + (i + 1) + ": " + (aim[0]+aim[1]>aim[2]));
        }
    }

    public static long[] splitToLongArray(String s) {
        long[] target = new long[3];
        String[] targetString = s.split(" ");
        target[0] = Long.parseLong(targetString[0]);
        target[1] = Long.parseLong(targetString[1]);
        target[2] = Long.parseLong(targetString[2]);
        return target;
    }

}

程式碼風格從來是這麼奇怪