【问题标题】:Fill java array with objects用对象填充java数组
【发布时间】:2015-04-27 14:09:49
【问题描述】:

我必须用 java 编写一个测验工具,但我被卡住了。 我只想创建一个问题并用答案填充它。答案应该在数组“antworten”中。

MainQuiz.java 类:

import java.lang.*;
public class MainQuiz {

    public static void main(String args[]){

        QuizFrage qf = new QuizFrage ("Welche Lebensmittel sind gesund?" ,
                 new QuizAntwort ("Apfel" ,"A" , true),
                 new QuizAntwort ("Chips", "B", false),
                 new QuizAntwort ("Orange" , "C", true),
                 new QuizAntwort ("Schokolade" , "D", false));
                qf.FrageStellen();
    }
}

QuizAntwort.java 类:

public class QuizAntwort {
    protected String antwortxt;
    protected Boolean istrichtig;
    protected CharSequence antwortchr;



    public QuizAntwort(String string, String string2, boolean b) {
        // TODO Auto-generated constructor stub
    }




    public boolean checkAntwort(String gewaehlteAntworten) {
        if (gewaehlteAntworten.contains(antwortchr)) return true; else return false; 
    }
}

和 QuizFrage.java 类

public class QuizFrage {
private String fragentext;
private QuizAntwort antworten[];



public QuizFrage(String FrageString, QuizAntwort quizAntwort1,
        QuizAntwort quizAntwort2, QuizAntwort quizAntwort3,
        QuizAntwort quizAntwort4){

    fragentext = FrageString;

}



public void FrageStellen(){

    System.out.println(fragentext);
    for (QuizAntwort curantwort: antworten){
        System.out.println(curantwort.antwortchr + ": " + curantwort.antwortxt);
    }
} 
}

如何用 quizantwort1,quizantwort2... 填充数组“antworten”?

【问题讨论】:

    标签: java arrays object


    【解决方案1】:

    使用varargs:

    public QuizFrage(String fragentext, QuizAntwort... antworten){
        this.fragentext = fragentext;
        this.antworten = antworten;
    }
    

    【讨论】:

      【解决方案2】:

      简单:

      antworten = new QuizAntwort[] {quizAntwort1, quizAntwort2,
                                     quizAntwort3, quizAntwort4};
      

      【讨论】:

      • @Puce 这是真的。但是问题中代码的整个结构还有很多需要改进的地方。使用可变参数不是主要问题。
      猜你喜欢
      • 2013-03-10
      • 2019-01-15
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 2018-11-14
      相关资源
      最近更新 更多