黑马程序员------小练习
2015-12-05 00:24
501 查看
黑马程序员------小练习
这是一个关于Random类中nextInt()的使用,涵盖泛型,set集合,死循环和增强for的使用。
延伸:注意Random类和Math类的区别:
Random:继承自java.lang.Object实现了一个接口,有一个子类,用用于生成伪随机数流。
Random类中的nextInt() 返回下一个伪随机数,它是此随机数生
成器的序列中均匀分布的int值。
NextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分
布的 int 值。
Math:继承自java.lang.Object类,有final修饰是常量类用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数。
这里引入案例
/*
* Set集合,实现存储10个,1-20,不重复随机数
*/
import java.util.*;
public
class Test1 {
public
static void main(String[] args) {
//定义一个set集合指定泛型为Integer
//一个不包含重复元素的 collection。更确切地讲,set
不包含满足e1.equals(e2)
//的元素对 e1
和 e2,并且最多包含一个 null
元素。
//抽象类的实现用子类TreeSet
Set<Integer> se=newTreeSet<Integer>();
//定义Random获取随机数
int nextInt(int n)
//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值//(不包括)之间均匀分布的
int 值,
//nextInt返回的是0-20,需要加1才能满足1-20
Random r=new Random();
while(true){
//因为要获得多次随机数,所有需要把获取随机数放到这里来
int num=(r.nextInt(20))+1;
//将随机数装入set集合
se.add(num);
//给个限制条件集合长度大于10退出循环
if(se.size()==10)
break;
}
//增强for遍历se集合
for(Integer i :se)
System.out.println(i);
}
}
这是Set集合的一个应用,下面我们来个猜数字的小游戏,主要也是应用了Random类的方法:
package bokebao;
import java.util.Random;
import java.util.Scanner;
/*
* 需求:
* 做一个猜数字的小游戏,如果猜的数字比获得的数字大,就输出提示继续猜,直到
* 猜对,如果猜的小就给出相应提示。
*/
public
class NumberGame {
public
static void main(String[] args) {
//定义一个方法,获取随机数字
int guessNumber=getRondomNumber();
//定义方法,猜数字
numberGame(guessNumber);
}
public
static int getRondomNumber() {
return (new Random().nextInt(10)+1);
}
public
static void numberGame(int num) {
int i=1;
while(i<=5){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你猜的数字(1-10你有5次机会):");
int number=sc.nextInt();
if (number<num) {
System.out.println("不好意思,你猜的数字有点小了"
+"你还有"+(5-i)+"次机会");
} else
if(number>num){
System.out.println("不好意思,你猜的数字有点大了"
+"你还有"+(5-i)+"次机会");
}else{
System.out.println("恭喜你!你猜对了");
}
i++;
}
}
}
这是个小游戏,比较简单不在赘述,大家可以玩一下,小娱怡情,大娱伤身,大家身体健康
如有不足,敬请指正。
感谢来访,分享无价!
这是一个关于Random类中nextInt()的使用,涵盖泛型,set集合,死循环和增强for的使用。
延伸:注意Random类和Math类的区别:
Random:继承自java.lang.Object实现了一个接口,有一个子类,用用于生成伪随机数流。
Random类中的nextInt() 返回下一个伪随机数,它是此随机数生
成器的序列中均匀分布的int值。
NextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分
布的 int 值。
Math:继承自java.lang.Object类,有final修饰是常量类用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数。
这里引入案例
/*
* Set集合,实现存储10个,1-20,不重复随机数
*/
import java.util.*;
public
class Test1 {
public
static void main(String[] args) {
//定义一个set集合指定泛型为Integer
//一个不包含重复元素的 collection。更确切地讲,set
不包含满足e1.equals(e2)
//的元素对 e1
和 e2,并且最多包含一个 null
元素。
//抽象类的实现用子类TreeSet
Set<Integer> se=newTreeSet<Integer>();
//定义Random获取随机数
int nextInt(int n)
//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值//(不包括)之间均匀分布的
int 值,
//nextInt返回的是0-20,需要加1才能满足1-20
Random r=new Random();
while(true){
//因为要获得多次随机数,所有需要把获取随机数放到这里来
int num=(r.nextInt(20))+1;
//将随机数装入set集合
se.add(num);
//给个限制条件集合长度大于10退出循环
if(se.size()==10)
break;
}
//增强for遍历se集合
for(Integer i :se)
System.out.println(i);
}
}
这是Set集合的一个应用,下面我们来个猜数字的小游戏,主要也是应用了Random类的方法:
package bokebao;
import java.util.Random;
import java.util.Scanner;
/*
* 需求:
* 做一个猜数字的小游戏,如果猜的数字比获得的数字大,就输出提示继续猜,直到
* 猜对,如果猜的小就给出相应提示。
*/
public
class NumberGame {
public
static void main(String[] args) {
//定义一个方法,获取随机数字
int guessNumber=getRondomNumber();
//定义方法,猜数字
numberGame(guessNumber);
}
public
static int getRondomNumber() {
return (new Random().nextInt(10)+1);
}
public
static void numberGame(int num) {
int i=1;
while(i<=5){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你猜的数字(1-10你有5次机会):");
int number=sc.nextInt();
if (number<num) {
System.out.println("不好意思,你猜的数字有点小了"
+"你还有"+(5-i)+"次机会");
} else
if(number>num){
System.out.println("不好意思,你猜的数字有点大了"
+"你还有"+(5-i)+"次机会");
}else{
System.out.println("恭喜你!你猜对了");
}
i++;
}
}
}
这是个小游戏,比较简单不在赘述,大家可以玩一下,小娱怡情,大娱伤身,大家身体健康
如有不足,敬请指正。
感谢来访,分享无价!
相关文章推荐
- 黑马程序员_简单实用 ,客户端跟服务器进行数据传输的结束标记 ,特别是被老师洗脑太深的,不看别后悔。
- 程序员必须了解的内存知识
- 程序员学习能力提升三要素
- 优秀程序员的七大特征,你具备几条?
- 优秀程序员的七大特征,你具备几条?
- 黑马程序员__Java多线程Thread
- 黑马程序员__Java输入输出流
- 黑马程序员--java基础之方法流程控制总结
- 第一篇博客,谈谈程序员
- 黑马程序员_java基础_正则表达式
- 黑马程序员——Foundation框架——NSString常用方法
- hpuoj 1720: 感恩节KK专场——面试难题【贪心】
- 王道程序员求职宝典阅读笔记20151204
- 细思极恐!未来百万人将下岗十大职业将消失
- 国内互联网公司算法&机器学习岗(阿里星)面试总结
- 2015年应届硕士生求职经验总结【算法工程师岗&无线通信研发岗】
- 黑马程序员之System、Runtime、Math、Date、Calendar类
- Java 50线程面试题
- 请听一个故事------>一次皆大欢喜的程序员跳槽加薪
- 校园招聘IT类求职体会