比大小
描述
给你两个很大的数,你能不能判断出他们两个数的大小呢?
比如123456789123456789要大于-123456
- 输入
- 每组测试数据占一行,输入两个不超过1000位的10进制整数a,b
数据保证输入的a,b没有前缀的0。
如果输入0 0表示输入结束。测试数据组数不超过10组 - 输出
- 如果a>b则输出“a>b”,如果a<b则输出“a<b”,如果相等则输出“a==b”。
- 样例输入
-
111111111111111111111111111 88888888888888888888 -1111111111111111111111111 22222222 0 0
- 样例输出
-
a>b a<b
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner scanner=new Scanner(System.in); 6 String a; 7 String b; 8 char asign; 9 char bsign; 10 11 while(scanner.hasNext()){ 12 a=scanner.next(); 13 b=scanner.next(); 14 15 if(a.compareTo("0")==0 && b.compareTo("0")==0) 16 break; 17 18 asign='0'; 19 bsign='0'; 20 21 if(a.contains("+")){ 22 asign='+'; 23 a=a.substring(1,a.length()); 24 } 25 else if(a.contains("-")){ 26 asign='-'; 27 a=a.substring(1,a.length()); 28 } 29 else 30 asign='+'; 31 32 if(b.contains("+")){ 33 bsign='+'; 34 b=b.substring(1,b.length()); 35 } 36 else if(b.contains("-")){ 37 bsign='-'; 38 b=b.substring(1,b.length()); 39 } 40 else 41 bsign='+'; 42 43 //System.out.println(asign); 44 //System.out.println(a); 45 //System.out.println(bsign); 46 //System.out.println(b); 47 48 if(asign=='+' && bsign=='+'){ 49 if(a.length()>b.length()) 50 System.out.println("a>b"); 51 52 else if(a.length()<b.length()) 53 System.out.println("a<b"); 54 55 else if(a.length()==b.length()){ 56 if(a.compareTo(b)<0) 57 System.out.println("a<b"); 58 else if(a.compareTo(b)==0) 59 System.out.println("a==b"); 60 else 61 System.out.println("a>b"); 62 } 63 } 64 else if(asign=='-' && bsign=='-'){ 65 if(a.length()>b.length()) 66 System.out.println("a<b"); 67 68 else if(a.length()<b.length()) 69 System.out.println("a>b"); 70 71 else if(a.length()==b.length()){ 72 if(a.compareTo(b)<0) 73 System.out.println("a>b"); 74 else if(a.compareTo(b)==0) 75 System.out.println("a==b"); 76 else 77 System.out.println("a<b"); 78 } 79 } 80 81 else if(asign=='+' && bsign=='-') 82 System.out.println("a>b"); 83 84 else 85 System.out.println("a<b"); 86 } 87 } 88 } 89 90