6084问题
任意给出一个四位数,把它重新组成一个四位的最大数和一个最小数,算出两者间的差。
例如:3721 这个数,可以重组成:7321 和 1237,差值为 7321-1237。
输入格式
一个四位数。
输出格式
题目中所说的差值。
输出时每行末尾的多余空格,不影响答案正确性
样例输入
3721
样例输出
6084
具体解答:
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int number = s.nextInt();
int h,j,k,l,max,min,result;
h = number/1000;
j = (number%1000)/100;
k = (number%100)/10;
l = number%10;
int []arr = new int[4];
int []countdown = new int[4];
int a=0;
arr[0]=h;arr[1]=j;arr[2]=k;arr[3]=l;
Arrays.sort(arr);
for(int i=countdown.length-1;i>=0;i--) {
countdown[a]=arr[i];
a+=1;
}
String strmin = toString(arr) ;
min = Integer.parseInt(strmin);
String strmax = toString(countdown);
max = Integer.parseInt(strmax);
result = max-min;
System.out.println(result);
}
//重写toString方法
public static String toString(int [] a) {
String temp ="";
for(int i=0;i<a.length;i++) {
temp = temp+a[i];
}
return temp;
}
版权声明:本文为ChengMinYang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。