gpt4 book ai didi

java - 将变量分配给函数的返回值时出现问题

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

我已经在网上搜索这个问题的解决方案几个小时了,但找不到。我是 java 的初学者,所以我不明白很多错误,这就是为什么我无法自己纠正这个错误。

无论如何,我正在尝试为变量分配一个值,然后将变量中的 int 值添加到另一个变量中。编译时,我收到错误:“这不是声明”,以及一个缺少分号的错误,我怀疑如果修复该声明,该错误将会被清除。

这是错误,以防万一您需要它:

hw8_ex2_jm2rv.java:61: error: ';' expected
int sumOfGames += value;
^
hw8_ex2_jm2rv.java:61: error: not a statement
int sumOfGames += value;
^
2 errors

这是我的代码:

public static int oneGame()
{
int trueValue = 1;
int falseValue = 0;
int total = sumTwoDice();
if((total == 7) || (total == 11))
{
//System.out.println(trueValue + " " + total);
return(trueValue);
}
else if((total == 2) || (total == 3) || (total == 12))
{
//System.out.println(falseValue + " " + total);
return(falseValue);
}
else
{
int total2 = 0;
while((total2 != 7) || (total2 != total))
{
total2 = sumTwoDice();
if(total2 == total)
{
//System.out.println(trueValue + " " + total + " " + total2);
return(trueValue);

}
else if(total2 == 7)
{
//System.out.println(falseValue + " " + total + " " + total2);
return(falseValue);

}
}
}

}

您可能想知道 sumTwoDice 方法,它所做的只是返回 2 到 12 之间的数字,而且我已经知道它正在工作。如果您想查看它,我也可以发布它,只需询问即可。

oneGame 函数只是模拟掷骰子游戏,并返回整数值 1 或 0。1 表示获胜,0 表示失败。

//this method runs a simulation of n values and returns the avg.
public static double monteCarloSim()
{
int trueValue = 1;
int falseValue = 0;
int sumOfGames = 0;
int n = 2;
for (int i = 0; i <= n; i++)
{
int value = oneGame();
int sumOfGames += value;

}
double avg = sumOfGames / n;
return(avg);
}

我现在只有一个小n,这样处理起来更容易,编译也更快。

我的主要问题是是什么使该语句无效以及我能做些什么来修复它,而且由于许多线程在堆栈溢出时没有涵盖这一点,什么使 a 语句无效一般来说。希望这对我和其他不理解此错误的初学者有所帮助。

预先感谢您的帮助和知识!

最佳答案

在循环外声明 sum 变量:

int sumOfGames = 0;

循环内的值递增:

int sumOfGames = 0;
for (int i = 0; i <= n; i++)
{
int value = oneGame();
sumOfGames += value;
}

关于java - 将变量分配给函数的返回值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26429530/

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