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

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

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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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