有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

在命令输入之后。选择全部();我想执行getCurrentLevel()+1以获取数组中要追加的下一个元素

以下是从中提取的数组类:

package com.game.main;

public class Message {

    public String[] messageArray;

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

共 (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;
    }