Math:类包含用于执行基本数学运算的方法。
由于Math类在java.lang包下,所以不需要导包。
特点:
没有构造方法,因为它的成员全部是静态的。
//1.Math.random生成0.0并且小于1.0的伪随机数(0.0~0.999999)
for(int i=1;i<=10;i++){
double r = Math.random();
System.out.println(r);
}
//2.生成0~99的随机数
for(int i=1;i<=10;i++){
double r = Math.random() * 100;
int num = (int)r;
System.out.println(num);
}
//3.我要获取一个1-100之间的随机数,肿么办?
for(int x=0; x<100; x++) {
int number = (int)(Math.random()*100)+1;//包括100和1
System.out.println(number);
}
/*
猜数字小游戏(数据在1-100之间)
分析:
A:程序产生一个随机数。(被猜的)
B:键盘录入数据。(你猜的)
C:把你猜的和被猜的进行比较
a:大了
b:小了
c:猜中了
D:给出多次猜的机会,猜中就结束。
while()循环,猜中就break
*/
import java.util.Scanner;
class GuessNumber {
public static void main(String[] args) {
//程序产生一个随机数。(被猜的)
int number = (int)(Math.random()*100)+1;
//System.out.println(number);
//给出多次猜的机会,猜中就结束。
while(true) {
//键盘录入数据。(你猜的)
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数据(1-100):");
int guessNumber = sc.nextInt();
//把你猜的和被猜的进行比较
if(guessNumber > number) {
System.out.println("你猜的数据"+guessNumber+"大了");
}else if(guessNumber < number) {
System.out.println("你猜的数据"+guessNumber+"小了");
}else {
System.out.println("恭喜你,猜中了");
break;
}
}
}
}
public class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//猜数字小游戏案例
/* 需求:猜数字小游戏(数据在1-99之间)
写两种情况的案例
一是只给三次机会就结束游戏
给n次机会,直到猜对才结束游戏*/
//1.生成随机数[数据在1-99之间]
int num = 0;
while(true){//这种写法是避免0的出现
num = (int)(Math.random() * 100);//0-99
if(num != 0) break;
}
System.out.println("生成的随机数是:" + num);
//2.接收用户输入的数字
Scanner scanner = new Scanner(System.in);
System.out.println("你有3次机会来猜数字");
for(int i=0;i<3;i++){
System.out.println("请输入1~99的数:[这是你第" + (i + 1) + "次机会]");
int a = scanner.nextInt();
if(a > num){
System.out.println("你猜的数有点大");
}else if(a < num){
System.out.println("你猜的数有点小");
}else{
System.out.println("binggo,你猜对了,接受惩罚...");
break;//猜对了之后,要退出for循环
}
}
}
}