用随机数作为数组成员,开始打印数组能正常显示数字,为什么排序之后打印就全是0?

用随机数作为数组成员,开始打印数组能正常显示数字,为什么排序之后打印就全是0?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Test {
 
    public static void main(String[] args) {
     
        int[] a = new int[5];
        int temp;
        for(int n:a){
            int m=(int)(Math.random()*10);
            a[n]=m;
            System.out.print(a[n]);
        }
         
        for(int i=0;i<a.length-1;i++){
            //内重循环控制每趟排序
            for(int j=0;j<a.length-i-1;j++){
                if(a[j]>a[j+1]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        }
        System.out.println("从小到大排序后的数组元素为:");
        for(int n:a){
            System.out.print(n+"     ");
        }
 
    }
 
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

增强for循环中,不能对数组成员进行修改,之所以开始打印没问题,是在循环执行过程中,循环结束,数据修订就无效了。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码