- 👑专栏内容:Java
- ⛪个人主页:子夜的星的主页
- 💕座右铭:前路未远,步履不停
目录
- 一、游戏介绍
- 二、输入输出
- 1、输出的控制台
- 2、从键盘上输入
- 三、随机数生成
- 四、游戏实现
Hello!我们来用前面学过的东西一起做个猜数字的小游戏吧。
一、游戏介绍
游戏会随机生成一个数字,你的任务是通过猜测来逼近这个数字。在每次猜测后,系统将给出提示,告诉你猜的数字是太大还是太小,然后让你重新猜,直到结果正确。
所涉及知识:随机数的生成、输入输出、分支结构、循环结构
二、输入输出
1、输出的控制台
System.out.println("你好!"); // 输出一个字符串, 带换行
System.out.print("你好!"); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
println
输出的内容自带换行, print
不带换行。
System.out.printf
是 Java 中用于格式化输出的方法。它使用格式字符串来指定输出的格式,然后根据提供的参数生成最终的输出字符串。这方法类似于 C 语言中的 printf
函数。
public class Main {
public static void main(String[] args) {
int age = 25;
double salary = 50000.50;
// 使用 printf 格式化输出
System.out.printf("Age: %d, Salary: %.2f%n", age, salary);
}
}
2、从键盘上输入
使用Scanner
读取字符串/整数/浮点数。
下面举例演示一下Scanner
的用法:
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读取整数
System.out.print("请输入一个整数: ");
int number = scanner.nextInt();
System.out.println("你输入的整数是: " + number);
// 读取字符串
System.out.print("请输入一个字符串: ");
String inputString = scanner.next();
System.out.println("你输入的字符串是: " + inputString);
scanner.close();
}
}
使用Scanner
要导入相关的包。import java.util.Scanner;
sc.close()
是Scanner
类中的一个方法,用于关闭Scanner
对象并释放与其关联的资源。调用这个方法可以确保程序在结束时释放Scanner
对象和其它资源,以便下次使用时不会出现问题。
三、随机数生成
在Java编程语言中,随机生成0~100之间的随机数可以使用Java标准库中的java.util.Random
类来实现。其中,Random
类的nextInt()
方法可以用于生成指定范围内的随机整数。
举个例子:
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random();
int num = rand.nextInt(100) + 1; // 生成1~100之间的随机整数
System.out.println("随机数是:" + num);
}
}
在这个例子中,我们首先创建了一个Random
对象rand
,然后使用nextInt()
方法生成0~100之间的随机整数,最后将生成的随机数输出到控制台。
需要注意的是,nextInt()
方法返回的随机数范围是从0开始,不包括上限,因此生成的随机数可能是0~99之间的整数。为了包含100和1,我们应该在生成的随机数后面再加上1。
四、游戏实现
游戏规则:
系统自动生成一个随机整数(1~100),然后由用户输入一个猜测的数字。 如果输入的数字比该随机数小,提示 “低了”,
如果输入的数字比该随机数大,提示 “高了” ,如果输入的数字和随机数相等, 则提示 “猜对了” 。
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random(); // 默认随机种子是系统时间
Scanner sc = new Scanner(System.in);
int toGuess = random.nextInt(100)+1;
while (true) {
System.out.print("请输入要输入的数字(1-100): ");
int num = sc.nextInt();
if (num < toGuess) {
System.out.println("低了");
} else if (num > toGuess) {
System.out.println("高了");
} else {
System.out.println("猜对了");
break;
}
}
sc.close();
}
}