从arraylist获取输出

时间:2016-10-05 15:05:23

标签: java

我是java的新手,我一直在搜索我的问题的答案,但我似乎无法得到arraylist的输出。 我在Ordtildikt String arrayoutput = kontrollObjekt.Ordtildikt;下面有一个红色标记,表示它无法解决或不是一个字段。该程序应该获得用户输入并从输入

创建一个arraylist

接口类

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

1 个答案:

答案 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");
}