A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

随机产生4组1-9的数字 放进数组中。判断数组中元素最大值的个数,(首先没有给确定的最大值)。通过遍历数组可以打印出数组最大的值。请问 这样的问题 谁能告诉我最大值的个数是怎么计算出来的!!!!!????

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端

24 个回复

倒序浏览
回复 使用道具 举报
yuhongqiang 发表于 2017-3-17 01:13

如果是把一维数组再放进二维数组中 ,再和一维数组中的最大值比较的话 ,我们才刚学完6天 考试就考这样的  我真想找出题的老师拼命了!!!!!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
定义一个长度为4的数组,创建Random类对象,一个静态方法传入数组,for循环把1到9的数随机数写进去,用数组接收每次产生的随机数!
2.定义一个变量,假设数组中第一个为最大值并赋值给变量,for循环,判断arr[i]>定义的变量,说明arr[i]大,就把arr[i]赋值给变量,在for循环外输出变量,变量就是最大值
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
这个题用数组坐好像比较麻烦的
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
引入math,通过随机函数*10获取随机数,通过循环,将随机数存入数组,之后循环找最大数,找到最大数,再循环对比相等。相等count加一。或者在找最大数的时候加几个if控制count是否加一是否要赋值为0。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
先用Random对象随机生成4个数,再for循环存入数组,在用数组第一个值循环与后面的值比较,把大值存入list集合,每次存入之前要清空集合,最后集合的size()就是次数
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
lvshen9 发表于 2017-3-17 09:05
先用Random对象随机生成4个数,再for循环存入数组,在用数组第一个值循环与后面的值比较,把大值存入list集 ...

没学集合呢!!!!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
623376390 发表于 2017-3-17 08:19
引入math,通过随机函数*10获取随机数,通过循环,将随机数存入数组,之后循环找最大数,找到最大数,再循 ...

循环对比相等是在外面  你出for循环就 数组里存的元素不就消失了嘛
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
完蛋了 发表于 2017-3-17 02:34
定义一个长度为4的数组,创建Random类对象,一个静态方法传入数组,for循环把1到9的数随机数写进去,用数组 ...

重点是最大值个数
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
623376390 发表于 2017-3-17 08:19
引入math,通过随机函数*10获取随机数,通过循环,将随机数存入数组,之后循环找最大数,找到最大数,再循 ...

需要再循环内部把最大值次数求出来  要不然数据就消失了!!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
WPH 中级黑马 2017-3-17 09:54:51
12#
用两个for循环,一个求最大值,另一个for循环再遍历数组求与最大值相同的个数
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
[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[i][j] = (int)(Math.random() * 10);
				System.out.print(arr[i][j] + " ");
				if(arr[i][j] > max) {
					max = arr[i][j];
				}
			}
			System.out.println();
		}
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr.length; j++) {
				if(arr[i][j] == max)
					count++;
			}
		}
		System.out.println(max + "---" +count);
	}
}


只能想到这种笨办法
回复 使用道具 举报
试试

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
帅哥,可否共享下你们的作业。可以共勉,我是自学。泥腿子一枚,小试牛刀。1036876625@qq.com
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
623376390 发表于 2017-3-17 10:45
试试

是4组啊,我这个是4个。还得改改
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
如果是4组也可以。这么来

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
mrwalker 发表于 2017-3-17 10:41
[mw_shl_code=java,true]public class Test1 {

        public static void main(String[] args) {

感谢  但是你的这个笨方法有个知识点我们还没学。。。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
623376390 发表于 2017-3-17 11:38
如果是4组也可以。这么来

我们定义的是在调用的那个方法里面求出元素个数的最大值 而且还没有学你那个数组添加。。。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
看看可以不

来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马