6084问题:任意给出一个四位数,把它重新组成一个四位的最大数和一个最小数,算出两者间的差。

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版权协议,转载请附上原文出处链接和本声明。