gpt4 book ai didi

java - 从 java 方法返回 int 值

转载 作者:行者123 更新时间:2023-12-01 12:33:01 24 4
gpt4 key购买 nike

我对java很陌生,但我正在尝试用我有限的知识来模拟手指游戏“Sticks”。这可能不是最简洁的,但如果您要建议我做某事,请链接一个页面解释那件事是什么,我会阅读它。

好的,所以基本上当我调用一个方法来决定轮到谁并尝试返回最多 5 的“计数”值时,问题就会出现,但它不会返回到 main()

public static int TurnCalcBB(int PLH, int PRH, int BRH, int BLH, int Death)
{
//Attacking with bot Right hand
Random botAtk = new Random();
if(botAtk.nextInt(2) == 1 && PRH <= 5)
{
PRH = BRH + PRH;
JOptionPane.showMessageDialog(null,"Your right hand is now at " + PRH);
return PRH;
} else if(botAtk.nextInt(2) == 0 && PLH <= 5){
PLH = BRH + PLH;
JOptionPane.showMessageDialog(null, "Your left hand is now at " + PLH);
return PLH;
}
return Death;
}

死亡就在那里,因为我收到一个错误,告诉我我总是需要返回一些东西,所以我返回一个静态值。

基本上,问题是让 PLH(玩家左手)或 PRH(玩家右手)返回主程序。如果我没记错的话,它们应该返回其初始变量名称(PL 和 PR),并且返回值正确吗?如果没有,我该如何解决这个问题?

代码比这个大得多,并且这个问题在整个程序中都发生,所以我只展示 1 种方法并假设它们都是相同的问题;方法几乎都是一样的。

另外,当我已经输入问题时,nextInt() 是生成随机数生成器的最佳方法吗?当我将它设置为 nextInt(1) 时,它专门攻击左手,当我将其切换为 nextInt(2) 时,它现在同时攻击左右手,但偶尔代码......“崩溃”(我所说的崩溃是指它会生成一个超出 If 语句所查找的数字)。显然我需要生成 1 或 2(如果 0 计数则生成 0 和 1)。

最佳答案

您可以将代码更改为

public static Integer TurnCalcBB(int PLH, int PRH, int BRH, int BLH, int Death)
{
//Attacking with bot Right hand
Random botAtk = new Random();
if(botAtk.nextInt(2) == 1 && PRH <= 5)
{
PRH = BRH + PRH;
JOptionPane.showMessageDialog(null,"Your right hand is now at " + PRH);
return PRH;
} else if(botAtk.nextInt(2) == 0 && PLH <= 5){
PLH = BRH + PLH;
JOptionPane.showMessageDialog(null, "Your left hand is now at " + PLH);
return PLH;
}
return null;
}

注意:请确保首先检查调用此函数的位置是否为空值。

关于java - 从 java 方法返回 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25794589/

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