題目描述
給定區間[-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 import java.util.Scanner; 2 public class Main{ 3 public static void main(String[] args) { 4 Scanner sc=new Scanner (System.in); 5 long T=sc.nextLong(); 6 for(int i=0;i<T;i++) { 7 long A=sc.nextLong(); 8 long B=sc.nextLong(); 9 long C=sc.nextLong(); 10 add(A, B, C, i+1); 11 } 12 13 } 14 public static void add(long A,long B ,long C ,int i) { 15 if(A+B>C) { 16 System.out.println("Case #"+i+": true"); 17 }else { 18 System.out.println("Case #"+i+": false"); 19 } 20 } 21 }
思路:
這里主要有一個問題是范圍問題,如果用int型,那么會超出界限,所以我用的是long型
在每次輸入一組數據后,都調用一下判斷的方法add()
add(long A,long B ,long C ,int i)方法
定義4個形參A,B,C和序列i,在每次輸入后,將其傳入,並且比較是否正確