对于外重循环,我感觉没有跟存在都能得出从小到大排序啊,但是外重循环的意义在什么地方,外重循环是否需要
public static void main(String[] args) {
System.out.println("请输入三个整数");
int z=new Scanner(System.in).nextInt();
int b=new Scanner(System.in).nextInt();
int c=new Scanner(System.in).nextInt();
int []a= {z,b,c};
for(int m:a) {
System.out.println("输入之前的数为"+m);
}
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]) {
int lemp=a[j];
a[j]=a[j+1];
a[j+1]=lemp;
}
}
}
for(int m:a) {
System.out.print("输入之后的数为"+m);
}
}
}
正在回答
同学你好,外层循环控制循环遍历的次数。比如说对3,2,1进行排序。
外层循环是for(int i = 0;i<a.length-1;i++)。
当i=0时,内层循环for(int j=0;j<a.length-i-1;j++)遍历排序,此时的j的值为2。
当j =0时,3和2比较,3比2大,交换位置,顺序是2,3,1.
当j=1时,3和1比较,3比1大,交换位置,顺序是2,1,3.
如果没有外层循环,此时内层循环结束,比较结果是2,3,1,不符合排序结果。
所以外层循环必须有。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
可以?那会颠覆我的认知,我希望你是错的
5个数字 :5 4 3 2 1
第一次交换:4 5 3 2 1
第二次交换:4 3 5 2 1
第三次交换:4 3 2 5 1
第四次交换:4 3 2 1 5
到这就结束了,一层循环只能做到这样,
三个数也是:3 2 1
一层循环以后:2 1 3
有点像一间教室让得分高的依次出来
你挨个问遍学生,这属于重复的事情,这要循环
但每次你只让现存教室里的学生得分最高的出了教室
你要找第二个人,还是要进教室再挨个问一下学生,找到现存教室里得分最高的
你有两件要重复的事情,挨个问学生成绩,进教室找一个人
每问一圈学生,出来一个人
秒针每走完一圈,分针走一格
秒针走完5圈,分针走5格
秒针是循环,分针也是循环
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星