程序步骤
1. 分析需求
2. 设计程序逻辑
3. 实现程序代码
4. 程序调试
猜数字案例&程序性能调优
import java.util.Random;
import java.util.Scanner;
public class GuessTheNumber {
/* 后台预先生成一个1-100之间的随机数,用户键盘录入猜数字
如果猜对了,打印“恭喜您,答对了”
如果猜错了
猜大了:打印“sorry,您猜大了!”
猜小了:打印“sorry,您猜小了!”
直到数字猜到为止
*/
//Random 类
//Scanner 类
//条件判断 if switch
//循环语句
public static void main(String[] args) {
//1.分析需求
//2.设计程序逻辑
//3.实现程序代码
//4.程序调试
//创建一个随机数对象,获取一个随机数
Random random = new Random();
int answer = random.nextInt(100) + 1;
//创建一个键盘录入对象
Scanner sc = new Scanner(System.in); //调优一:在内存中只创建一个Scanner对象
//声明一个死循环代码块
for(;;) {
//输出提示语,让用户键盘输入指定类型的数据
System.out.println("请输入一个1~100的数字");
//调用方法接收用户录入的数据
int number = sc.nextInt();
//备注: 在使用别人给你的数据时,必须校验符合你想要的数据在执行下一步
//校验用户录入的数据是否合法
//不合法
//返回到上一步让用户重新录入数据,并友好提示
if(number < 1 || number > 100) {
System.out.println("您输入的数据不合法");
continue; //调优二:不符合条件的,不再执行下去
}
//合法
//用第一步生成的随机数结果与用户录入的数据进行比较
//大于
//提示用户猜大了
//返回到上一步让用户重新录入数据
if(number > answer) {
System.out.println("对不起, 你猜大了");
continue;
}
//小于
//提示用户猜小了
//返回到上一步让用户重新录入数据
if(number < answer) {
System.out.println("对不起, 你猜小了");
continue;
}
//等于
//提示用户猜对了
//程序结束
System.out.println("恭喜你, 你猜对了");
if(sc != null) { //调优三:Scanner对象属于IO流,JVM垃圾回收机制不回收;所以需要通过close()的方法来释放内存资源
sc.close();
}
break;
}
}