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;
    }

}

代码风格从来是这么奇怪

猜你喜欢

转载自blog.csdn.net/jdie00/article/details/81265168