文章目录
任务6、猜数小游戏(单次版)
- 游戏规则:程序产生一个[1, 100]之间的随机整数,用户输入整数进行猜测,如果猜对了,就结束游戏;如果猜错了,程序会提示你是猜高了还是猜低了,然后让你继续输入整数进行猜测。
(一)编程实现
- 在net.lixin.p02.t06包里创建Task06类
package net.lixin.p02.t06;
import java.util.Random;
import java.util.Scanner;
/**
* 功能
* 作者:李信
* 日期:2022年04月14日
*/
public class Task06 {
public static void main(String[] args) {
//声明部分
int target, x;
Scanner sc=new Scanner(System.in);
//产生猜测目标
Random random=new Random();
target = random.nextInt(100);
while (true){
//用户输入猜测数
System.out.println("输入一歌[1,100]的整数");
x=sc.nextInt();
//判断用户是否猜测正确
if (x>target) {
System.out.println("朋友你猜高了,继续猜吧");
}else if (x<target){
System.out.println("朋友·你猜低了,继续猜吧");
}else {
break;//猜中了,跳出循环
}
//用户输入猜测的数
System.out.println("输入你猜测的数");
x=sc.nextInt();
}
System.out.println("恭喜你猜对了,游戏结束");
}
}
- 运行程序,查看结果
- 如果采用二分法来猜测,猜测次数最多不会超过l o g 2 100 ≈ 7
- 在
net.lixin.p02.t06
包里创建Task06_
类
package net.lixin.p02.t06;
import java.util.Random;
import java.util.Scanner;
/**
* 功能
* 作者:李信
* 日期:2022年06月09日
*/
public class Task06_ {
public static void main(String[] args) {
// 声明部分
int target, x;
Scanner sc =new Scanner(System.in);
// 产生猜测目标
Random random = new Random();
target = random.nextInt(100);
while (true) {
// 用户输入猜测的数
System.out.print("输入一个[1, 100]的整数:");
x = sc.nextInt();
// 判断用户是否猜测正确
if (x > target) {
System.out.println("朋友,你猜高了~继续猜吧");
} else if (x < target) {
System.out.println("朋友,你猜低了~继续猜吧");
} else {
break; // 猜中了,跳出循环
}
}
System.out.println("恭喜你猜对了,游戏结束!");
}
}
- 运行程序,查看结果
(二)讲解知识点
- 详细讲稿:Java学习笔记2.5.1 循环结构 - 条件循环
1、前测试条件循环 - while循环
(1)语法格式
初始条件
while (循环条件) {
语句块
break|continue;
更新条件
}
执行情况
- 首先判断循环条件是真还是假,如果是真的,执行循环体,然后再次判断循环条件。如果是真的,继续循环,直到循环条件变成假的。有一种特殊情况:如果第一次判断循环条件就不成立,那么一次循环也不执行。
2、后测试条件循环 - do…while循环
(1)语法格式
初始条件
do {
语句块
break|continue;
更新条件
} while (循环条件);
- 首先执行一次循环,然后判断循环条件,如果为真,继续循环,直到条件为假时结束循环。后测试当型循环,属于先上车后买票,无论如何都会执行一次循环。
3、随机类 - Random
- 查看Random的方法
- 产生指定范围的随机整数[a, b]
Random random = new Random();
int x = a + random.nextInt(b - a);