Javaでアンケートフォームの構造をカスタマイズする方法

Javaでは、アンケート構造体をオブジェクトで表現できます。まず、問題を表すQuestionクラスを作成し、このクラスは問題文、選択肢のリスト、解答などのプロパティを含めることができます。次に、アンケートを表すQuestionnaireクラスを作成し、このクラスは質問のリスト、アンケート名、作成時間などのプロパティを含めます。

サンプルコードを以下に示します。

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Question {
    private String content;
    private List<String> options;
    private String answer;
    
    public Question(String content, List<String> options, String answer) {
        this.content = content;
        this.options = options;
        this.answer = answer;
    }
    
    // getters and setters
    
    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public List<String> getOptions() {
        return options;
    }

    public void setOptions(List<String> options) {
        this.options = options;
    }

    public String getAnswer() {
        return answer;
    }

    public void setAnswer(String answer) {
        this.answer = answer;
    }
}

public class Questionnaire {
    private String name;
    private Date createDate;
    private List<Question> questions;
    
    public Questionnaire(String name) {
        this.name = name;
        this.createDate = new Date();
        this.questions = new ArrayList<>();
    }
    
    // getters and setters
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public List<Question> getQuestions() {
        return questions;
    }

    public void setQuestions(List<Question> questions) {
        this.questions = questions;
    }
}

public class Main {
    public static void main(String[] args) {
        // 创建问卷表
        Questionnaire questionnaire = new Questionnaire("Java基础知识调查问卷");
        
        // 创建问题
        Question question1 = new Question("Java中的基本数据类型有哪些?", 
                List.of("int", "double", "boolean", "char"), "int");
        Question question2 = new Question("Java中的循环语句有哪些?", 
                List.of("for", "while", "do-while", "if-else"), "for");
        
        // 添加问题到问卷表
        questionnaire.getQuestions().add(question1);
        questionnaire.getQuestions().add(question2);
        
        // 输出问卷表内容
        System.out.println("问卷名称:" + questionnaire.getName());
        System.out.println("创建时间:" + questionnaire.getCreateDate());
        
        for (Question question : questionnaire.getQuestions()) {
            System.out.println("问题:" + question.getContent());
            System.out.println("选项:" + question.getOptions());
            System.out.println("答案:" + question.getAnswer());
            System.out.println();
        }
    }
}

上記のコードは、2つの質問を含むアンケートを作成しています。必要に応じて、質問や選択肢をさらに追加することができます。

bannerAds