87,914
社区成员
发帖
与我相关
我的任务
分享
思路:
生成一个1到100之间的随机整数。
循环让用户猜数字,每次猜测后给出提示(大了、小了还是对了)。
根据猜测次数计算得分。
输出参与者得分。
下面是一个简单的实现例子:
import java.util.Random;
import java.util.Scanner;
public class GuessNumberGame {
public static void main(String[] args) {
Random rand = new Random();
int secretNumber = rand.nextInt(100) + 1; // 生成1到100的随机数
Scanner scanner = new Scanner(System.in);
int guess;
int guessCount = 0;
int score = 0;
System.out.println("欢迎来到猜数字游戏!数字范围是1到100。");
do {
System.out.print("请输入你的猜测:");
guess = scanner.nextInt();
guessCount++;
if (guess < secretNumber) {
System.out.println("猜小了!");
} else if (guess > secretNumber) {
System.out.println("猜大了!");
} else {
System.out.println("恭喜你,猜对了!");
score = 100 - (guessCount - 1) * 10; // 计算得分
if (guessCount > 10) {
score = 0; // 超过10次猜测,得分为0
}
break;
}
} while (guessCount <= 10); // 最多猜测10次
// 输出参与者得分
System.out.println("你的得分是:" + score);
scanner.close(); // 关闭Scanner对象
}
}
在这个程序中,我们使用了Random类来生成随机数,Scanner类来接收用户输入。程序通过一个do-while循环来让用户进行猜测,并在每次猜测后给出相应的提示。如果猜对了,就根据猜测次数计算得分;如果猜测次数超过10次,则得分为0。最后,程序输出参与者的得分。
得分是看猜的次数,猜的次数可以用一个变量count统计。然后根据猜的次数求得分,得分=100-(count-1)*10
java
import java.util.Random;
import java.util.Scanner;
public class GuessNumberGame {
public static void main(String[] args) {
Random rand = new Random();
int secretNumber = rand.nextInt(100) + 1; // 生成1到100的随机数
Scanner scanner = new Scanner(System.in);
int guessCount = 0;
int score = 0;
System.out.println("欢迎来到猜数字游戏!");
System.out.println("我已经想好了一个1到100之间的整数,你来猜猜是多少?");
while (guessCount < 10) {
System.out.print("请输入你的猜测:");
int guess = scanner.nextInt();
guessCount++;
if (guess < secretNumber) {
System.out.println("你猜的数字太小了!");
} else if (guess > secretNumber) {
System.out.println("你猜的数字太大了!");
} else {
// 猜中数字
score = 100 - (guessCount - 1) * 10; // 计算得分
System.out.println("恭喜你,猜对了!你用了" + guessCount + "次猜测。");
break;
}
}
if (guessCount == 10) {
System.out.println("很遗憾,你没有在10次内猜中数字。");
} else {
System.out.println("你的得分是:" + score + "分");
}
scanner.close();
}
}