2016-12-11 4 views
0

Пытается обработать исключение. Используя инструкцию If по рекомендации cricket_007, которая была невероятно полезна! Тем не менее, все еще борются с этим. В основном, отвечая на первый вопрос строки в моем gui, а затем увеличивая индексный счетчик, чтобы получить следующий вопрос. после того, как пользователь ответит на 7-й вопрос, я хочу закончить метод, однако я просто получаю исключение outOfBounds. Я попыталсяИндекс Вне границ Обработка исключений

если (questionIndex> questions.size()) если (questionsIndex> (questions.size() - 1)

и попытались писать по-другому, где, если индекс меньше чем размер, задавать вопросы ... и еще дисплей «сделано!», а затем реализовать «результаты()» метод.

protected void calcPersonnelRisk() { 
    if(questionIndex >(questions.size()-1)){ 
     message.setText("Done"); 
     System.exit(0); 
    } 
     //do closing action methods, display total Personnel Risk , end program 
    else{ 
    yesButton.setVisible(false); 
    noButton.setVisible(false); 
    message.setFont(new Font("Tahoma", Font.BOLD, 14));  
    message.setText(questions.get(questionIndex++)); 
    enterButton.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
       int r= Integer.parseInt(textField.getText().trim()); 
       responses.add(r); 
       textField.setText(""); 
       message.setText(questions.get(questionIndex++));      
     }}); 

    } 

}//end calcPersonnelRisk 

ответ

0

Тааак, ответил на мой собственный вопрос (ну вроде) Я до сих пор кредит Cricket_007 Он привел меня в правильном направлении, я просто поставил код в неправильном месте. Решение движется условно.

protected void calcPersonnelRisk() { 
    yesButton.setVisible(false); 
    noButton.setVisible(false); 
    message.setFont(new Font("Tahoma", Font.BOLD, 14)); 
    message.setText(questions.get(questionIndex++)); 
    enterButton.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
       int r= Integer.parseInt(textField.getText().trim()); 
       responses.add(r); 
       textField.setText(""); 
       if(questionIndex < questions.size()){ 
       message.setText(questions.get(questionIndex++));} 
       else message.setText("Done"); 
       //do finishing stuff, move to the next method! 
     }}); 
Смежные вопросы