您的位置:首页 > 职场人生

黑马程序员------小练习

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++;
}

}
}
这是个小游戏,比较简单不在赘述,大家可以玩一下,小娱怡情,大娱伤身,大家身体健康
如有不足,敬请指正。

感谢来访,分享无价!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: