1. 程式人生 > 其它 >6084問題:任意給出一個四位數,把它重新組成一個四位的最大數和一個最小數,算出兩者間的差。

6084問題:任意給出一個四位數,把它重新組成一個四位的最大數和一個最小數,算出兩者間的差。

技術標籤:演算法字串java

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; }