Java 是否将当前数组索引分配给变量以使其递增?
我有一个消息数组,它被调用显示在文本字段中。我想将数组索引(即[0])分配给一个变量,以便当用户输入正确的文本时,我可以获取当前数组索引,并将其递增到下一个以便打印出来。我该怎么做 我有以下方法: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");
@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;
}