0.效果
1.代码
代码语言:javascript复制package number;
import java.math.*;
import java.util.Scanner;
/**
*
* @author 花狗Fdog
*猜数字游戏
*/
public class GuessNumber {
public static void main(String[] args) {
int num = (int)(Math.random()*(10 1)); //强制将double转换为int
System.out.println(num);
System.out.println("我们来玩一个猜数游戏吧n 系统会自动生成一个数,让我们来猜一猜它是几。n请输入一个20以内的数:");
Scanner s = new Scanner(System.in);
//要加入import java.util.Scanner;包
int snum;
do{
snum = s.nextInt();
}while(getReturnNum(snum,num));
}
public static boolean getReturnNum(int snum,int num){
//如果判断正确就返回 return true 结束循环
if(snum>=num){ //输入的数大于或者等于被猜数
if(snum>num 5){
System.out.println("你输入的数太大了,继续努力");
return true;
}else if(num 5>snum && snum>num){
System.out.println("你输入的数稍大于被猜数,继续加油");
return true;
}else{
System.out.println("恭喜你,猜对了!");
return false;
}
}
else{ //输入的数小于被猜数
if(snum 5<num){
System.out.println("你输入的数太小了,继续努力");
return true;
}else{
System.out.println("你输入的数稍小于被猜数,继续加油");
return true;
}
}
}
}
3.注意点
注意点1:
生成随机数random()方法可以生成[0,1)之间的随机浮点数,而double类型数据强制转换为int类型,整数部分赋值给int类型变量,小数点之后的小数部分将会丢失。
默认是[0,10),如何得到[0,10]呢?我们可以利用强制转换来取巧,如果要生成[0,10]的随机整数的话,只需要Math.random()乘以10 1,
然后默认生成[0,11)的浮点数,再强制类型转换为int类型,只取其整数部分,即可得到[0,10]的整数。
注意点2:
int num = (int)(Math.random()*(10 1)); 注意括号 不要写成int num = (int)Math.random()*(10 1)