gpt4 book ai didi

java - 程序加 1、2 或 3,直到达到 21

转载 作者:太空宇宙 更新时间:2023-11-04 13:08:47 24 4
gpt4 key购买 nike

我正在制作一个名为“count 21”的程序。它的工作原理是:“两个人玩计数 21 的游戏,轮流输入 1、2 或 3,即添加到运行总计中。增加数值使总数超过的玩家21 输掉了比赛。创建一个计数 21 的游戏,其中玩家与计算机,并编写一个始终能让计算机获胜的策略。任何回合中,如果玩家输入的值不是 1、2 或 3,则强制玩家重新输入值(value)。”我无法弄清楚应该如何执行此操作,这就是我到目前为止所拥有的:

import javax.swing.JOptionPane;
import java.util.Scanner;

public class Count21 {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int x; //running total
int y; //input num
String strInput = "";
String message = "";
String answer = "";

do {
strInput = JOptionPane.showInputDialog(null, "Welcome to Count 21. \n In this game you will play against "
+ "the computer and add the numbers 1, 2, or 3 together. \n Whoever pushes the "
+ "numbers over 21 loses. \n Do you want to add 1, 2, or 3? "
+ "(please enter the number you choose.");
y = Integer.parseInt(strInput);
x++;
if (y == 1) {JOptionPane.showMessageDialog(null, "You chose the number 1."
+ " 1 will be added to the running total of" + (x + 1) +" .");
}
else if (y == 2) {JOptionPane.showMessageDialog (null, "You chose the number 2."
+ "2 will be added to the running total of" + (x + 2) + " .");
}
else if (y == 3) {JOptionPane.showMessageDialog (null, "You chose the number 3."
+ "3 will be added to the running total of" + (x + 3) + " .");
}
else{
JOptionPane.showMessageDialog(null, "You didn't type a valid number, please try again. \n");
}
} while (x > 21);
}
}

程序运行并且用户输入他们选择的数字后,程序结束。到目前为止,这就是我所拥有的一切,但我一直困惑于如何让用户添加的数字保持在 21 之前。我也不确定如何让计算机赢得游戏。我想我应该使用 for 循环?非常感谢任何建议或意见。如果我的代码或问题不清楚,我深表歉意。

最佳答案

正如评论中所建议的,您不应该增加 x每次输入值时加一。这还会导致进一步的问题,因为当输入无效数字时,它仍然会增加。相反,您应该检查 y 的值然后在条件逻辑(IF 语句)中添加适当的金额。这还应该简化逻辑中包含的输出消息,因为在打印 x 时您不需要向 x 添加任何内容。

同样,正如评论中所述,while 条件应该是 x < 21 .

关于java - 程序加 1、2 或 3,直到达到 21,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34168647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com