用随机数作为数组成员,开始打印数组能正常显示数字,为什么排序之后打印就全是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+ " " ); } } } |
41
收起
正在回答
1回答
增强for循环中,不能对数组成员进行修改,之所以开始打印没问题,是在循环执行过程中,循环结束,数据修订就无效了。
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧