私のプログラムはQuestionBank.sqlファイルから質問の詳細を読み取ります。すべてが正しいですが、12の質問を得る代わりに、出力に10の質問が含まれています。hashcodeとequalsメソッドをオーバーライドして固有の質問を生成する方法
出力は次のとおりです。シンプル
GKミディアム
GKコンプレックス
科学コンプレックス
歴史ミディアム
歴史ミディアム
歴史シンプル
履歴シンプル
GKシンプル
GK
地理中
**DataManagerImpl.java**
@Override
public Set<Question> generateQuestionPaper(List<Question> list,
List<Criteria> template) {
// TODO Auto-generated method stub
Set<Question> questionSet = new HashSet<Question>();
int count;
int index = 0;
for(Criteria c: template){
count = 0;
while(c.getNoOfQuestion() > count){
index = (int)(Math.random()*list.size());
//System.out.println(index);
Question q = list.get(index);
if(c.getCategory().equals(q.getCategory()) && c.getComplexity().equals(q.getComplexity())){
if(!questionSet.contains(q)){
count++;
questionSet.add(q);
System.out.println(q.getCategory()+" "+q.getComplexity());
}
}
}
}
return questionSet;
}
Criteria.java
public class Criteria {
private Category category;
private Complexity complexity;
private int noOfQuestion;
public Criteria() {
}
public Criteria(Category category, Complexity complexity,int noOfQuestion) {
super();
this.noOfQuestion = noOfQuestion;
this.category = category;
this.complexity = complexity;
}
public int getNoOfQuestion() {
return noOfQuestion;
}
public void setNoOfQuestion(int noOfQuestion) {
this.noOfQuestion = noOfQuestion;
}
public Category getCategory() {
return category;
}
public void setCategory(Category category) {
this.category = category;
}
public Complexity getComplexity() {
return complexity;
}
public void setComplexity(Complexity complexity) {
this.complexity = complexity;
}
}
generateQuestionpaper()にパラメータとして渡さ私を助けてください!
「Question」ハッシュコード/ equalsの実装が重要であるようですが、そのコードを入力してください。 – weston
私はこれら2つの方法が私の問題を解決する方法を理解できないので、私はhashcodeとequalsメソッドをオーバーライドしていませんか? –