题目:
思路:
其实该题很简单,就是比较一下大小
但是得注意到数据的类型,(我的代码中)x1,k1,x2,k2都为int类型在 repeat的时候,要注意到,字符串可以通过append()
方法在末尾直接添加元素,如果有大量的字符串拼接new好多StringBuilder对象,所以频繁的字符串操作还是得用StringBuilder
所以new了一个StringBuiler。然后调用toString()方法将其转化为字符串。
然后接下来就是比较了,这个不是纯粹的字符串大小比较
在比较过程中,如果该数字的长度越长则越大,所以先根据字符串的长度来判断数字的大小采用字符串.length()方法求长度,当长度相等的时候可以采用字符串的大小比较方式,compareto()函数的值>0,<0,=0来判断大小。
代码:
import java.util.*;
import java.math.BigInteger;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int x1=sc.nextInt();
int k1=sc.nextInt();
int x2=sc.nextInt();
int k2=sc.nextInt();
StringBuilder s1 = new StringBuilder();
for(int i=0;i<k1;i++){
s1.append(x1);
}
StringBuilder s2 = new StringBuilder();
for(int i=0;i<k2;i++){
s2.append(x2);
}
String v1 = s1.toString();
String v2 = s2.toString();
// BigInteger v1 = newBigInteger(s1.toString());
//BigInteger v2 = newBigInteger(s2.toString());
if(v1.length()>v2.length())
System.out.println("Greater");
else if(v1.length()<v2.length())
System.out.println("Less");
else{
if(v1.compareTo(v2)>0)
System.out.println("Greater");
if(v1.compareTo(v2)==0)
System.out.println("Equal");
if(v1.compareTo(v2)<0)
System.out.println("Less");
}
}
}