1

indexOf メソッドを使用して整数を使用して、文字列が文字列配列の値と等しいかどうかを確認しようとしています。ここに私が持っているものがあります:

public int[] COMPONENT_IDS = { 18, 22, 20, 10, 12, 14, 16 };
public String[] COMPONENT_STRINGS = { "pie", "chocolate bar", "donut", "baguette", "triangle sandwich", 
                                        "sandwich", "bread" };

public int[][] REWARDS = { {995, 5000000}, {12852, 625000}, {8851, 1250000} };

public void handleComponents(int c) {
    for(int i : COMPONENT_IDS) {
        if(i == c) {
            if(answer.equals(COMPONENT_STRINGS[COMPONENT_IDS.indexOf(i)]))
                sendReward();
            else
                sendPunishment();
        }
    }
}

エラー:

src\com\rs\game\player\content\AntiAFK.java:30: error: cannot find symbol
                            if(answer.equals(COMPONENT_STRINGS[COMPONENT_IDS
.indexOf(i)]))
^
   symbol:   method indexOf(int)
   location: variable COMPONENT_IDS of type int[]
4

2 に答える 2

1

配列には indexOf メソッドがありません

List のindexOf メソッドを使用する

java.util.Arrays.asList(COMPONENT_IDS).indexOf(i);

配列ユーティリティクラスを使用して、配列をリストに変換する必要があります

于 2013-07-02T02:56:08.253 に答える