赞
踩
当我学到数组的时候,感觉老师说的好简单呀,但是一到实际练习的时候整个人都是蒙圈的,怎么就得出最大值了?百思不得其解,盯着代码看了大半天也没有答案,没有转过弯来,直到我用自己把代码翻译成文字之后,突然之间豁然开朗起来,分享下解题思路:
问题:求出下列数组中的最值,也就是谁的值最大
int array[] = {100, 22, 3232, 411, 225, 6};
捋一捋思路: 首先想到的是一个for循环,用第一个的值与第二个值进行比较,看看谁的值比较大,值大的留下,值小的淘汰,接着用if进行判断;有点类似于古时候的比武招亲,搭一个擂台,战斗力低的淘汰,战斗力高的留下准备迎接下一轮的挑战,解题思路有了,接下来就是逐个击破即可;
第一步:先搭建一个擂台,定义一个max,擂台谁先上?也就是索引为0战斗力为“100”的人先上,将这个数组赋值给“max”;
- int array[] = {100, 22, 3232, 411, 225, 6};
- int max = array[0];
第二步:for循环,一对一进行比较,第一个和第二个开始比,战斗力高的留下赋值给max,进行下一轮,战斗力低的已经被淘汰了,所以现在还差个判断语句if,要判断一下谁的战斗力高,所以来到了第三步
- int array[] = {100, 22, 3232, 411, 225, 6};
- int max = array[0];
- for (int i = 1; i < array.length; i++) {
-
- }
第三步:if判断谁的值比较大
- int array[] = {100, 22, 3232, 411, 225, 6};
- int max = array[0];
- for (int i = 1; i < array.length; i++) {
- if (array[i] > max) {
- max = array[i];
- // 如果array[i]的值大于max值,则将该值留下赋值给max
- }
- }
- System.out.println("最大值=" + max);
执行流程解析:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。