我是java的新手,我一直在搜索我的问题的答案,但我似乎无法得到arraylist的输出。
我在Ordtildikt String arrayoutput = kontrollObjekt.Ordtildikt;
下面有一个红色标记,表示它无法解决或不是一个字段。该程序应该获得用户输入并从输入
接口类
import javax.swing.JOptionPane;
public class Grensesnitt {
public static void main(String[] args) {
Grensesnitt Grensesnitt = new Grensesnitt();
Grensesnitt.meny();
}
Kontroll kontrollObjekt = new Kontroll();
private final String[] ALTERNATIVER = {"Registrere ord","Skriv dikt","Avslutt"};
private final int REG = 0;
private final int SKRIV = 1;
public void meny() {
boolean fortsett = true;
while(fortsett) {
int valg = JOptionPane.showOptionDialog(
null,
"Gjør et valg:",
"Prosjektmeny",
JOptionPane.DEFAULT_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
ALTERNATIVER,
ALTERNATIVER[0]);
switch(valg) {
case REG: regNy();
break;
case SKRIV: regDikt();
break;
default: fortsett = false;
}
}
}
int i = 0;
public void regNy() {
while(i<=16)
{
String Ord = JOptionPane.showInputDialog("Skriv or til diktet: ");
kontrollObjekt.regNy(Ord);
//String Diktord = JOptionPane.showInputDialog("Skriv ord til diktet: ");
//kontrollObjekt.regNy(Diktord);
i = i + 1;
}
}
public void regDikt() {
String arrayoutput = kontrollObjekt.Ordtildikt;
JOptionPane.showMessageDialog(null, arrayoutput);
}
//JOptionPane.showMessageDialog(null, kontrollObjekt.Diktord);
}
控制类
import java.util.ArrayList;
public class Kontroll {
public ArrayList<String> Diktord = new ArrayList<String>();
public void regNy(String Ord) {
Diktord.add(Ord);
Diktord.add("\n");
}
public String Ordtildikt(String Ord) {
return Ord=Diktord.toString();
}
}
答案 0 :(得分:0)
这是一种方法,而不是变量。
kontrollObjekt.Ordtildikt;
你试着打电话给这个?
public String Ordtildikt(String Ord) {
return Ord=Diktord.toString();
}
1)将其return Diktord.toString();
2)除非你打算使用那个参数
,否则摆脱String Ord
3)实际上调用方法,例如加上一些括号。
String arrayoutput = kontrollObjekt.Ordtildikt();
此外,我认为这应该是正确的regNy
方法,除非您想错误地报告列表的大小是其两倍。
public void regNy(String Ord) {
Diktord.add(Ord + "\n");
}