我正在尝试设置第一场战斗,但在第24行,BlueJ告诉我变量ActionBar
无法执行。
如果有人能告诉我这段代码有什么问题,我将不胜感激
firsthitpoints
答案 0 :(得分:2)
您在前面的if
块中定义变量,将其移到块之外并为其赋予初始值。像,
boolean firstkill = true;
int firsthitpoints = 0; // <-- declare and initialize.
while (firstkill) {
if (firstattack > firstenemydefense){
firsthitpoints = Math.ceil(Math.random() * firstbattleattack);
}
int firstenemynewhealth = firstenemyhealth - firsthitpoints;
// ...
,并非直接针对您的问题, 请 不要将String
平等与{{1}进行比较}}
==
应该是
if (characterquality == "Slayer"){
也许它适用于您的情况,但这只是测试引用相等(而不是值相等)。另请参阅How do I compare strings in Java?
最后,执行比较指令有 cost 1 。您应该使用if (characterquality.equals("Slayer")) {
块,而不是将逻辑反转与多个else
(s)进行比较。像,
if
1 虽然在现代语境中非常小。
答案 1 :(得分:0)
尝试创建局部变量firsthitpoints
并将其初始化为:
int firsthitpoints = 0;
while (firstkill) {
if (firstattack > firstenemydefense){
firsthitpoints = (int) Math.ceil(Math.random() * firstbattleattack);