}
代码做了改进,首次运行上面的代码没发现问题,但觉得不符合逻辑,所以做了修改。还增加了查询的方法。
package test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test { //查找 public static int[] findIndex(int[] input,int value){ int sum=0; for(int i=0;i<input.length;i++){ if(input[i]==value){ sum++; } } if(sum==0){ return null; } int[] re=new int[sum]; int index=0; for(int i=0;i<input.length;i++){ if(input[i]==value){ re[index]=i; index++; } } return re; } //升序 public static int[] Ascending(int[] input){ for(int i=0;i<input.length;i++){ int j=0; for(;j<input.length-i-1;j++){ if(input[j]>input[j+1]){ int temp =input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; } //降序 public static int[] Descending(int[] input){ for(int i=0;i<input.length;i++){ int j=0; for(;j<input.length-i-1;j++){ if(input[j]<input[j+1]){ int temp =input[j]; input[j]=input[j+1]; input[j+1]=temp; } } } return input; } public static void main(String[] args) { int[] array=new int[]{8,2,5,3,8}; // int[] indexarry=Test.findIndex(array, 2); // if(null!=indexarry){ // for(int i:indexarry){ // System.out.println(i); // } // }else{ // System.out.print("no found"); // } // // int[] newArray=Test.Ascending(array); int[] newArray=Test.Descending(array); for(int i:newArray){ System.out.println(i); } } }