public static void arrMessage(int arr[]){
int sameTimes = 1;//统计相同数值出现的数字
int sameNum = 0;// 记录相同的数值
System.out.println("数组长度为:\t"+arr.length);
System.out.println("-------------");
System.out.println("数组最大索引:\t"+(arr.length-1));
System.out.println("-------------");
System.out.println("排序前的数组为:");
for (int i:arr) {
System.out.print(i+"\t");
}
System.out.println("\n-------------");
System.out.println("排序后的数组为:");
Arrays.sort(arr);
for (int i:arr) {
System.out.print(i+"\t");
}
System.out.println("\n-------------");
// 如果第n到第n+1个数相同,下次开始位置在n+2
for (int i = 0; i < arr.length; i+=sameTimes) {
sameTimes = 1;// 每个数最少出现一次,每次重置
sameNum = arr[i];// sameNum用来与下一个数比较,每次重置
// 注意当i等于len-1时不会有下一个数,所以加一个判断
if((i!=arr.length-1)){
如果当前数不等于下一个数,则后面不会再有相同的数,可以跳过
for (int j = i+1; j < arr.length; j++) {
// 若与下个数相同,次数+1
if(sameNum == arr[j]){
sameTimes++;
}else {
break;
}
}
}
System.out.println(sameNum+"出现的次数为\t"+sameTimes);
}
System.out.println("\n-------------");
}
打印出数组的各种信息
最新推荐文章于 2024-03-26 11:06:28 发布