黑马程序员技术交流社区

标题: 问个问题 折磨我一天了 求大神帮解答 [打印本页]

作者: yuhongqiang    时间: 2017-3-17 01:11
标题: 问个问题 折磨我一天了 求大神帮解答
随机产生4组1-9的数字 放进数组中。判断数组中元素最大值的个数,(首先没有给确定的最大值)。通过遍历数组可以打印出数组最大的值。请问 这样的问题 谁能告诉我最大值的个数是怎么计算出来的!!!!!????


作者: yuhongqiang    时间: 2017-3-17 01:13


作者: yuhongqiang    时间: 2017-3-17 01:25
yuhongqiang 发表于 2017-3-17 01:13

如果是把一维数组再放进二维数组中 ,再和一维数组中的最大值比较的话 ,我们才刚学完6天 考试就考这样的  我真想找出题的老师拼命了!!!!!

作者: 完蛋了    时间: 2017-3-17 02:34
定义一个长度为4的数组,创建Random类对象,一个静态方法传入数组,for循环把1到9的数随机数写进去,用数组接收每次产生的随机数!
2.定义一个变量,假设数组中第一个为最大值并赋值给变量,for循环,判断arr[i]>定义的变量,说明arr[i]大,就把arr[i]赋值给变量,在for循环外输出变量,变量就是最大值

作者: fuleigang    时间: 2017-3-17 06:16
这个题用数组坐好像比较麻烦的

作者: 623376390    时间: 2017-3-17 08:19
引入math,通过随机函数*10获取随机数,通过循环,将随机数存入数组,之后循环找最大数,找到最大数,再循环对比相等。相等count加一。或者在找最大数的时候加几个if控制count是否加一是否要赋值为0。

作者: lvshen9    时间: 2017-3-17 09:05
先用Random对象随机生成4个数,再for循环存入数组,在用数组第一个值循环与后面的值比较,把大值存入list集合,每次存入之前要清空集合,最后集合的size()就是次数

作者: yuhongqiang    时间: 2017-3-17 09:35
lvshen9 发表于 2017-3-17 09:05
先用Random对象随机生成4个数,再for循环存入数组,在用数组第一个值循环与后面的值比较,把大值存入list集 ...

没学集合呢!!!!

作者: yuhongqiang    时间: 2017-3-17 09:37
623376390 发表于 2017-3-17 08:19
引入math,通过随机函数*10获取随机数,通过循环,将随机数存入数组,之后循环找最大数,找到最大数,再循 ...

循环对比相等是在外面  你出for循环就 数组里存的元素不就消失了嘛

作者: yuhongqiang    时间: 2017-3-17 09:38
完蛋了 发表于 2017-3-17 02:34
定义一个长度为4的数组,创建Random类对象,一个静态方法传入数组,for循环把1到9的数随机数写进去,用数组 ...

重点是最大值个数

作者: yuhongqiang    时间: 2017-3-17 09:42
623376390 发表于 2017-3-17 08:19
引入math,通过随机函数*10获取随机数,通过循环,将随机数存入数组,之后循环找最大数,找到最大数,再循 ...

需要再循环内部把最大值次数求出来  要不然数据就消失了!!

作者: WPH    时间: 2017-3-17 09:54
用两个for循环,一个求最大值,另一个for循环再遍历数组求与最大值相同的个数

作者: mrwalker    时间: 2017-3-17 10:41
[Java] 纯文本查看 复制代码
public class Test1 {

        public static void main(String[] args) {
                getArr();
        }

        static void getArr() {
                int[][] arr = new int[4][4];
                int max = 0;
                int count = 0;
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr.length; j++) {
                                arr[j] = (int)(Math.random() * 10);
                                System.out.print(arr[j] + " ");
                                if(arr[j] > max) {
                                        max = arr[j];
                                }
                        }
                        System.out.println();
                }
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr.length; j++) {
                                if(arr[j] == max)
                                        count++;
                        }
                }
                System.out.println(max + "---" +count);
        }
}


只能想到这种笨办法
作者: 623376390    时间: 2017-3-17 10:45
试试


作者: 623376390    时间: 2017-3-17 10:50
帅哥,可否共享下你们的作业。可以共勉,我是自学。泥腿子一枚,小试牛刀。1036876625@qq.com

作者: 623376390    时间: 2017-3-17 10:53
623376390 发表于 2017-3-17 10:45
试试

是4组啊,我这个是4个。还得改改

作者: 623376390    时间: 2017-3-17 11:38
如果是4组也可以。这么来


作者: yuhongqiang    时间: 2017-3-17 12:28
mrwalker 发表于 2017-3-17 10:41
[mw_shl_code=java,true]public class Test1 {

        public static void main(String[] args) {

感谢  但是你的这个笨方法有个知识点我们还没学。。。

作者: yuhongqiang    时间: 2017-3-17 12:32
623376390 发表于 2017-3-17 11:38
如果是4组也可以。这么来

我们定义的是在调用的那个方法里面求出元素个数的最大值 而且还没有学你那个数组添加。。。

作者: 精诚所至    时间: 2017-3-17 13:03
看看可以不


作者: 小黄哥    时间: 2017-3-17 13:14
获取最大值,然后和最大值相等的计数就行

作者: mrwalker    时间: 2017-3-17 14:39
yuhongqiang 发表于 2017-3-17 12:28
感谢  但是你的这个笨方法有个知识点我们还没学。。。

我现在自学基础,打算直接参加就业班。能不能把你们每天的作业共享一下?邮箱736933125@qq.com
谢谢
作者: newu    时间: 2017-3-17 16:03
定义一个长度为4的数组,创建Random类对象,一个静态方法传入数组,for循环把1到9的数随机数写
作者: zhao543    时间: 2017-3-17 19:32
学无止境
作者: yuhongqiang    时间: 2017-3-17 19:51
newu 发表于 2017-3-17 16:03
定义一个长度为4的数组,创建Random类对象,一个静态方法传入数组,for循环把1到9的数随机数写 ...

嗯  这题。。。。没啥基础





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2