注釋掉的部分使用Arrays.sort()排序都正常,但是arr2排序完后都成0 了,在Arrays.sort()前面輸出arr2也是正常的,排序完輸出后為什么會(huì)成0?代碼:
import java.util.Arrays;
import java.util.Scanner;
public class pat_1064 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] arr1 = new int[n];
int[] arr2 = new int[n];
for(int i = 0; i < arr1.length;i++){
arr1[i] = in.nextInt();
int temp = arr1[i];
arr1[i] = mod(temp);
//至此全部轉(zhuǎn)換成各位數(shù)和
System.out.print(arr1[i] + " ");
}
//這里不造怎么處理
/*
* 從第一個(gè)開(kāi)始找,第一次遇到一樣的時(shí)候,標(biāo)志置為false,
* 然后從這個(gè)數(shù)再往下找,遇到一樣的數(shù)組不再增加,而是都置為-1
* */
System.out.println();
int count = 0;
for(int i = 0; i < n; i++){
for(int j = i + 1; j < n - 1; j++){
if(arr1[i] == arr1[j] && arr1[i] != -1 && arr1[j] != -1){
arr2[count] = arr1[i];
// System.out.println(arr2[count]);
count++;
arr1[j] = -1;
for(int x = j + 1; x < n-1; x++){
if(arr1[i] == arr1[x]) arr1[x] = -1;
}
break;
}
}
}
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
Arrays.sort(arr2);
// int[] arr3 = new int[]{2,4,1,7,3,5};
// Arrays.sort(arr3);
// for(int i = 0; i < 6; i++) System.out.print(arr3[i] + " ");
for(int i = 0; i < count; i++) System.out.print(arr2[i] + " ");
}
public static int mod(int n){
int yu = 0;
while(n != 0){
yu = yu + n % 10;
n = n / 10;
}
return yu;
}
}
測(cè)試數(shù)據(jù):
8
123 899 51 998 27 33 36 12
第一次遇見(jiàn)這種情況
Java使用Arrays.sort()排序整型數(shù)組后,整型數(shù)組內(nèi)容為0?
www說(shuō)
2019-02-20 18:00:32