0

我有一组消息被要求在文本字段中显示。我想将数组索引即 [0] 分配给一个变量,以便当该人输入正确的文本时,我可以获得当前数组索引并将其增加到下一个以便能够打印出来。我怎样才能做到这一点?

我有这些方法:

@Override
public void actionPerformed(ActionEvent e) {
    String text = commandInput.getText();
    messageDisplay.append("\n \n" + text + "\n \n");
    commandInput.selectAll();

}

public String getCurrentLevel() {
    return currentLevel;
}

在 commandInput.selectAll(); 之后 我想做 getCurrentLevel() + 1 来获取要附加的数组中的下一个元素。

这是它从中提取的数组类:

package com.game.main;

public class Message {

    public String[] messageArray;

    public Message() {
        messageArray = new String[50];
        messageArray[0] = "Welcome. ";
    }
}
4

1 回答 1

1

我不太确定这是否是您要查找的内容,但随后对 getNextMessage() 的调用将返回数组中的下一条消息。调用它太多次,它会超出范围等。这当然假设你没有在调用之间重新创建类,如果是这样,你需要使 indx 静态。

使用 ArrayList 而不是数组的另一种方法:

//using an ArrayList<String>
public class Message {

    private int indx = 0;
    private ArrayList<String> messages;

public Message() {
    messages = new ArrayList<String>();
    messages.add("Welcome. ");     
}

public String getNextMessage(){
    String s = messages.get(indx);
    indx++;
    return s;
}

// using an array
public class Message {

    private int indx = 0;
    private String[] messageArray;

public Message() {
    messageArray = new String[50];
    messageArray[0] = "Welcome. ";     
}

public String getNextMessage(){
    String s = messageArray[indx];
    indx++;
    return s;
}
于 2013-06-08T17:08:09.053 回答