BlueJ无法找到变量

时间:2016-01-23 13:27:47

标签: java bluej

我正在尝试设置第一场战斗,但在第24行,BlueJ告诉我变量ActionBar无法执行。

如果有人能告诉我这段代码有什么问题,我将不胜感激

firsthitpoints

2 个答案:

答案 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);