java猜数小游戏

2020-10-28 14:35:53 浏览数 (1)

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)

0 人点赞