gpt4 book ai didi

java - 循环输入 if 语句

转载 作者:太空宇宙 更新时间:2023-11-04 07:23:15 25 4
gpt4 key购买 nike

我是 java/编程新手,我认为一个很好的学习方法是制作一个简单的文本 RPG 游戏。我有一个类(class)文件,您可以在其中雇用 worker 为您开采矿石。基本上,我从用户那里拿走 2000 金币,并随机分配 1-5 之间的数字 10 次,然后他们根据 10 次的数字获得矿石。 (例如,1 是铜,4 是金)

这就是我到目前为止所拥有的,当我运行它时,它会占用我的黄金,但只给我 1 个矿石,而实际上它应该给我 10 个矿石,有什么帮助吗?编辑:抱歉忘记提及我有 int x = 0; 在顶部

if ((input.input.equalsIgnoreCase("a")) && inventory.goldCoins >= 2000) {
System.out.println("You have hired Sanchez for $2000!");
inventory.goldCoins -= 2000;

do {
int workerOre = (int )(Math.random() * 5 + 1);
if (workerOre == 1) {
inventory.addInventory("Copper Ore");
menu.start();
} else if (workerOre == 2) {
inventory.addInventory("Iron Ore");
menu.start();
} else if (workerOre == 3) {
inventory.addInventory("Steel Ore");
menu.start();
} else if (workerOre == 4) {
inventory.addInventory("Gold Ore");
menu.start();
} else if (workerOre == 5) {
inventory.addInventory("Copper Ore");
}
x++;
} while (x < 10);
System.out.println("Sanchez has finished his shift and the ore has been added to your inventory!");
} else if ((input.input.equalsIgnoreCase("a")) && inventory.goldCoins < 2000) {
System.out.println("You do not have enough money!");
worker();
}

最佳答案

原因可能是您从未初始化过 x,因此它只是等于某个垃圾值。尝试在 do-while 循环之前添加 int x = 0

我还注意到,您在将矿石添加到库存后调用 menu.start() ,您的程序是否有可能永远不会返回循环?

在 switch 语句识别出 case 后,您需要使用 break 跳出 switch 语句,其次,您可以在 switch 的末尾添加一个 default ,以便在 case 1 到 case 4 不满足时使用。例如:

switch(ore)
{
case 1: inventory.addInventory("Copper Ore");
break;
case 2: inventory.addInventory("Iron Ore");
break;
case 3: inventory.addInventory("Steel Ore");
break;
case 4: inventory.addInventory("Gold Ore");
break;
default: inventory.addInventory("Copper Ore");
}

关于java - 循环输入 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972127/

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