将当前数组索引分配给变量以使其递增?

时间:2013-06-08 16:54:42

标签: java arrays textarea textfield

我有一系列要求在文本字段中显示的消息。我想将数组索引,即[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. ";
    }
}

1 个答案:

答案 0 :(得分: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;
}