2016-08-29 6 views
0

아래 코드와 같이 옵션 (라디오 버튼) 섞기 전에 점수/포인트를 계산할 수 있습니까? Collection.shuffle() 이전에는 correctChoice이 항상 c2 라디오 버튼에 할당되므로 옵션이 수정되었습니다. 그래서 다음과 같이 사용할 수 있습니다점수/득점 경기 점수

if (c2.isSelected()) 
score=score+2; 

그런 다음 나는 선택 항목을 섞습니다.

QsL.setText(Question.get(i).getQs().toString()); 
c1.setText(Question.get(i).getChoiceOne()); 
c2.setText(Question.get(i).getCorrectChoice()); 
c3.setText(Question.get(i).getChoiceTwo()); 
scorelbl.setText(Question.get(i).getScore()); 
if (c2.isSelected()) { 
    score=score+2; 
    JOptionPane.showMessageDialog(null,score); 
} 
String one = Question.get(i).getChoiceOne(); 
String two = Question.get(i).getChoiceTwo(); 
String three = Question.get(i).getCorrectChoice(); 
List<String> choices = Arrays.asList(one, two, three); 
Collections.shuffle(choices); 
c1.setText(choices.get(0).toString()); 
c2.setText(choices.get(1).toString()); 
c3.setText(choices.get(2).toString()); 

미리 답변 해 주셔서 감사합니다. 이 게시물을 수정했습니다.

+0

'배열. asList (one, two, three)'모든 toString() 호출을 제거 할 수 있습니다. – byxor

+0

@BrandonIbbotson하지만 내 문제가 해결되지 않습니다. 지금 당장은 작동합니다. 올바른 선택 (응답)이 세 가지 라디오 버튼 옵션 중 무작위로 나타납니다. –

+0

문제를 해결할 수 없다는 것을 알고 있습니다. 그것이 논평이고 대답이 아닌 이유입니다. – byxor

답변

3

조각이 문자열을 뒤섞어 정답을 모호하게 만듭니다. 대신, 각 선택의 텍스트, 올바른 상태 및이이 할당 할 수있는 버튼에 연결 :

class Choice { 
    String text; 
    Boolean correct; 
    JRadioButton button; 
} 

QuestionList<Choice> choices를 포함하자를 준비 섞어서 버튼에 할당합니다. 버튼의 작업 ActionListener에서 일치하는 버튼에 대해 choices을 검색하여 선택한 선택의 정확성을 확인합니다. 그에 따라 점수를 업데이트하십시오.

+0

실례 합니다만 귀하의 제안을 이해할 수 없습니다. 내게 몇 가지 세부 사항을 알려주시겠습니까? –

+0

선택 셔플 전에 점수를 계산할 수도 있습니까? –

+0

질문에 답할 때까지 점수를 계산할 수 없습니다. 더 구체적인 지침을 보려면 질문을 수정하여 수정 된 접근법을 보여주는 [mcve]를 포함 시키십시오. – trashgod