这道题相当的有意思,运用了数组的很多种方法,主要是动态的得到一个不包含默认值的数组,与计数器数组,还有不重复打印 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
