我无法使用我的If语句解决问题

时间:2013-11-24 18:03:34

标签: java string-comparison

这段代码根本不起作用。我尝试过所有我知道的事情!

public static String[] CheatCodes = {"k1lla1otch3at", "H1gh$c0re!!", "wr1t3H1gh$C0r3$"};
if (actionconsole == 5){// Cheats
        String CheatSelection = JOptionPane.showInputDialog(null, "What Is You Code?"+eol+"Type It In Below"+eol+"WARNING! If You Get It Wrong Your Leader Will Lose Health!", "Cheats", JOptionPane.WARNING_MESSAGE);
        System.out.println("  Cheat Selection: "+CheatSelection);

        if(CheatSelection == CheatCodes[0]){
            warriershealth = 2;
            archershealth = 1;
            leaderhealth = 2;
            System.out.println("  successful!");
            JOptionPane.showMessageDialog(null, "Lots Of Enemies Have Been Killed!", "Cheat Successful", JOptionPane.INFORMATION_MESSAGE);
        }else{
            System.out.println("  NOT Cheat 1");
            if(CheatSelection == CheatCodes[1]){
                ScorePlus = 200;
                System.out.println("  successful!");
                JOptionPane.showMessageDialog(null, "Your Score Has Been Increased!", "Cheat Successful", JOptionPane.INFORMATION_MESSAGE);
            }else{
                if(CheatSelection == CheatCodes[2]){
                    WriteHighScore();
                    System.out.println("  successful!");
                    JOptionPane.showMessageDialog(null, "The High Scores Have Been Writen!", "Cheat Successful", JOptionPane.INFORMATION_MESSAGE);
                }
            }
        }
    }

这个输出是:

Cheat Selection: k1lla1otch3at

NOT Cheat 1

请帮忙!

1 个答案:

答案 0 :(得分:0)

像这样使用

    if(CheatSelection.equals(CheatCodes[0]))

要比较java中的String对象,请使用.equals()方法而不是“==”运算符

如果你想忽略使用如下代码

的情况
    if(CheatSelection.equalsIgnoreCase(CheatCodes[0]))