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