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

Java 是否将当前数组索引分配给变量以使其递增?,java,arrays,textarea,textfield,Java,Arrays,Textarea,Textfield,我有一个消息数组,它被调用显示在文本字段中。我想将数组索引(即[0])分配给一个变量,以便当用户输入正确的文本时,我可以获取当前数组索引,并将其递增到下一个以便打印出来。我该怎么做 我有以下方法: @Override public void actionPerformed(ActionEvent e) { String text = commandInput.getText(); messageDisplay.append("\n \n" + text + "\n \n");

我有一个消息数组,它被调用显示在文本字段中。我想将数组索引(即[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. ";
    }
}

我不太确定这是否是您要查找的内容,但随后对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;
}

int-myInt=Integer.parseInt(getCurrentLevel())+1
然后再次将其转换为字符串(例如使用
String#valueOf()
)我是否需要公共字符串[]和私有字符串[]尤其是具有相同名称的字符串[]?我犯了一个错误。另外,在getNextMesage中,我也遇到了一个错误。哦,稍等一下,我没有注意到公共错误。最好保留私有字符串数组,因为您不想在外部公开类的内部工作。这是固定的,现在想了很多。仍然存在未解析为变量的“i”。我应该创建它还是数组本身应该接受它?啊,对不起,数组中的I应该是indx。再次修正。如果您正在使用和IDE类似Eclipse,这些东西应该很快看到和修复:)我应该考虑使用一个列表而不是一个数组。
// 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;
}