这道题相当的有意思,运用了数组的很多种方法,主要是动态的得到一个不包含默认值的数组,与计数器数组,还有不重复打印 public static void main(String[] args){ Scanner inScanner=new Scanner(S
public static void main(String[] args){ Scanner inScanner=new Scanner(System.in); System.out.println("请输入1-100之间的数"); int[] a=new int[100]; //因为要求随意输入1-100内的数,单数数组不是动态的,先设置100的范围 int i=0,count=0; while(true){ //进入循环插入数组,输入为0退出循环 int yI=inScanner.nextInt(); if(yI==0){ break; }else{ a[i]=yI; i++; count++; //每插入一个计数器加1,这是为了得到计数器数组的长度 } } int[] b=new int[count]; //创建新数据,为了得到最大值,方便得到计数器数组的索引范围 System.arraycopy(a, 0, b, 0, count); //同上 Arrays.sort(b);//同上 int kI=b[b.length-1];//最大值,索引上限 int[] jishu=new int[kI+1];//创建计数器数组,上限+1,因为索引从0开始不包含最大值的索引 for(int jI=0;jI