文章目录
题干
提示:这段是题干,仔细阅读仔细分析:
获取数组最大值和最小值操作:
1.利用Java的Math类的random()方法,编写函数得到0到n之间的随机数,n是参数。
2.并找出产生50个这样的随机数中最大的、最小的数,并统计其中>=60的有多少个。
提示:使用 int num=(int)(n*Math.random());获取随机数
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目分析
1.定义数组
2.定义计数器,最大值最小值
3.写方法:生成随机数,存放进数组中
4.调用方法
5.冒泡排序
6.遍历判断大于等于60的数个数
7.赋值:最大值最小值
8.打印输出
二、代码
1.代码块
代码如下(示例):
public class Work2 {
/*程序主入口*/
public static void main(String[] args) {
/*因为题干要求产生50个随机数,所以定义一个数组,长度为50*/
int[] array = new int[50];
/*定义一个计数器,后续用来判断>=60的数有多少个*/
int count = 0;
/*定义max记录最大值,先暂且认为最大值是数组中第一个数*/
/*后续还会判断具体那个是最大值*/
/*array[0]表示数组中第一个数*/
int max = array[0];
/*定义min记录最小值,先暂且认为最小值是数组中第一个数*/
/*array[0]表示数组中第一个数*/
int min = array[0];
/*调用本类的非静态方法*/
Work2 w = new Work2();
w.random1(array, 101);//传入参数,传入一个数组和n n代表生成的随机数范围
/* int num=(int)(n*Math.random()); 用此公式得到随机数范围为[0,n) */
/* 此题我传入n=101,则随机数范围wei[0,101) 即为>=0且<101的整数 */
/*冒泡排序公式,将数组中大的元素放前面,小的放后面*/
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
/*排序之后最大的数就是数组中第一个数,也就是array[0]*/
max = array[0];
/*排序之后最小的数就是数组中最后一个数,也就是array[array.length-1]*/
/*因为数组下标从0开始,所以array[0]是第一个元素*/
/*所以最后一个元素并不是array[长度],而是array[长度-1]*/
min = array[array.length-1];
/*输出数组看看长啥样,但是此题没要求打印数组,可以不要这行*/
System.out.println(Arrays.toString(array));
/*遍历数组,找大于等于60的数*/
for (int i = 0; i < array.length; i++) {
/*判断如果>=60,计数器就+1;*/
/*for循环遍历完就得到了>=60的数的个数*/
if (array[i] >= 60) {
count++;
}
}
/*打印输出最大值,最小值,>=60数的个数*/
System.out.println(max);
System.out.println(min);
System.out.println(count);
}
/*方法*/
/*用于生成随机数 随机数的范围为 [0,n) */
public int[] random1(int[] array, int n) {
for (int i = 0; i < array.length; i++) {
array[i] = (int) (n * Math.random());
}
return array;
}
}
2.一图流
总结
这是一道数组练习题,本文是我的个人理解,希望对你也能有所帮助!