java-1011 A+B和C (15)(15 分)
阿新 • • 發佈:2018-12-30
一、題幹
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; } }
程式碼風格從來是這麼奇怪