一直以来坚持不断学习Java的一个重要原因是“兴趣”。学习是痛苦的,不过在游戏中学习就不一样了。
内容:
猜数字游戏是一种简单的竞猜游戏,游戏中电脑随机产生一个1到100之间的被猜整数,玩家从键盘上反复输入整数来进行试猜。未猜中时,电脑提示所猜数过大或过小;猜中时,指出猜的次数。
知识点:
输入输出、随机数、循环结构、多分支结构
这里就说说随机数吧,其余都是基础知识。
首先认识下Math类
Math类是Java语言提供的标准工具类,其包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。这些方法基本上都是类方法,可通过“Math.方法名”直接调用。
再说说random方法
random方法是Math类中一个随机数方法。其原型是:public static double random()。其返回带正号的double值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
下面是random方法常见用法:
1、产生[a,b]之间的整数
(int)(Math.random()(b-a+1)+a)
例如:产生[1,10]之间的数,(int)(Math.random()(10-1+1)+1)
2、产生(a,b)之间的整数
(int)(Math.random()(b-a-1)+a+1)
例如:产生(1,10)之间的数,(int)(Math.random()(10-1-1)+1+1)
程序流程图:
对于初学者来说,流程图是一种整理自己思路的好工具。
程序代码:
import java.util.Scanner;
/**
* 猜数字游戏
* @author LCS
*
*/
public class GuessGame {
public static void main(String[] args) {
Scanner key=new Scanner(System.in);
int n=(int)(Math.random()*100+1);//系统产生的随机数
int m;//用户猜的数字
int i=0;//记录用户猜的次数
System.out.println("欢迎使用猜数字游戏!");
//开始游戏
do {
i++;
System.out.println("请输入你猜的数字【1-100】:");
m=key.nextInt();
if(m==n) {
System.out.println("恭喜你,你猜对了!你共猜了"+i+"次。");
break;
}else if(m>n) {
System.out.println("错了,你猜大了!你共猜了"+i+"次。");
}else {
System.out.println("错了,你猜小了!你共猜了"+i+"次。");
}
}while(true);
}
}