第三部分
题目:. 产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了。 并进行测试(正常情况,异常情况,边界情况)
需求分析:产生[1-100]的随机数,让用户猜大小
设计:
① 需要产生随机数 类
② 输入猜测值 类
③ 比较 主类
单次猜数:
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(99) + 1;
Scanner t = new Scanner(System.in);
int b =0 ;
do {
System.out.println("请输入1-100 之间的数!!!");
b = t.nextInt();
}while(b<1||b>100);
if(b>a)
System.out.println("猜大了哦…");
else if(b<a)
System.out.println("猜小了哦…");
else
System.out.println("猜对了呢,你真棒!");
}
}
同一个随机数,直到猜对为之
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(99) + 1;
Scanner t = new Scanner(System.in);
int b = 0;
while(a!=b) {
do {
System.out.println("请输入1-100 之间的整数!!!");
b = t.nextInt();
} while (b < 1 || b > 100);
if (b > a)
System.out.println("猜大了哦…");
else if (b < a)
System.out.println("猜小了哦…");
else
System.out.println("猜对了呢,你真棒!");
}
}
}
产生不同随机数,直到猜对为之
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
int a=1;
int b = 0;
while(a!=b) {
Random rand = new Random();
a = rand.nextInt(99) + 1;
Scanner t = new Scanner(System.in);
System.out.println(a);
do {
System.out.println("请输入1-100 之间的整数!!!");
b = t.nextInt();
} while (b < 1 || b > 100);
if (b > a)
System.out.println("猜大了哦…");
else if (b < a)
System.out.println("猜小了哦…");
else
System.out.println("猜对了呢,你真棒!");
}
}
}
问题和解决过程
- 问题:Java中如何产生随机数
- 解决方案: 博文所述大致如下
1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。
2、通过Math.random()方法返回一个0到1之间的double值。
3、通过Random类来产生一个随机数。
在使用的时候,我选择了Random类的方法,因为操作方便,使用了int a = rand.nextInt(99) + 1
来产生一个1-100的随机整数