黑马程序员技术交流社区
标题: 【黑马程序员济南】JavaEE基础阶段必会案例NO.5 [打印本页]
作者: 小鲁哥哥 时间: 2017-8-31 17:49
标题: 【黑马程序员济南】JavaEE基础阶段必会案例NO.5
本帖最后由 小鲁哥哥 于 2017-8-31 18:24 编辑
【黑马程序员济南】JavaEE基础阶段必会案例NO.5
黑马程序员课程内容丰富多样,每个知识点我们都设计有新奇的案例让大家练习。黑马程序员训练营的课程也是案例驱动教学,每天都会进行大量的代码练习。今天我们就来一起做一个基础阶段第5天的一个小案例。
案例要求:根据要求完成:生成5个1~100(范围包括1和100)的随机数,并打印; 将生成的随机数比较出最大值,并打印;
案例分析:我们要用到的知识点:随机数,循环控制,条件判断
分析完一个大概以后我们先思考一个问题:随机数的范围如何控制?
我们学完随机数相关知识以后,应该有一个信心:我们能生成任意范围内的随机数。为什么这么肯定呢,我们来试一下:
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
Random r = new Random();
int i = r.nextInt(100);// 0 - 99
int j = r.nextInt(101);// 0 - 100
int k = r.nextInt(1001)+100;// 100 - 1000
System.out.println();
}
}
好,我们熟悉了随机数的使用以后这个题已经接近一半了,我们接下来就要生成5个随机数了,这样的重复操作你想到了什么呢?没错,是循环。
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
Random r = new Random();//创建Random对象
for (int i = 0; i < 5; i++) {//循环5次
int n = r.nextInt(100)+1;//生成0--100随机数
System.out.print(n+" ");//打印输出
}
}
运行看一下:
ok,现在完成了大部分了,如何求出其中的最大值呢?
这里使我们基础部分一个经典的求最值思想,我们假设第一个随机数是最大的 ,然后跟后面的一个一个比较,如果后面的比它大,我们就给这个变量从新赋值,继续比较。这样结束以后我们就得到了最大值了。
思路完美,我们敲起来吧!! [Java] 纯文本查看 复制代码
public static void main(String[] args) {
Random r = new Random();
int max = 0;//假设一个最大值
for (int i = 0; i < 5; i++) {
int n = r.nextInt(100)+1;
if(n>max){//让最大值变量跟随机数比较,
max = n;//如果随机数较大重新给max赋值
}
System.out.print(n+" ");
}
System.out.println();
System.out.println("最大值是 "+max);//最终输出最大值
}
运行看一下:
大功告成!! 这个案例作为一个经典案例用来复习随机数和求最值的方法,循环等等知识点非常不错,很新颖。其实,每个案例都有很多种写法,不同的人可能有不同的思路,比如这个题有的同学用数组方法 或者用while循环,更改循环条件等也可以实现。黑马程序员训练营也是非常鼓励大家开动脑筋积极思考的。
点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
作者: fashionkillyou 时间: 2017-9-22 19:31
这个题我会,O(∩_∩)O哈哈哈~
作者: uzi123 时间: 2018-5-27 11:33
赞一个 多出点吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |