2016-08-18 4 views
0

Я получаю ошибку инициации переменной в последней части моего кода. Я нахожу это странным, потому что он не отличается от формата, чем остальная часть кода. Я просмотрел его несколько раз, и я просто не вижу проблемы. Думаю, мне нужен еще один взгляд на это.Ошибка в последней части кода, которая точно такая же, как и остальная часть кода

Идеи любой?

import java.util.Scanner; 
public class Survey 
{ 
public static void main(String[] args) 
{ 
    int surveyChoice; 
    String choice; 
    String choice2; 
    String choice3; 
    String choice4; 
    final int FIRST_CHOICE = 1; 
    final int SECOND_CHOICE = 2; 
    final int THIRD_CHOICE = 3; 
    final int FOURTH_CHOICE = 4; 
    final int FIFTH_CHOICE = 5; 
    final int SIXTH_CHOICE = 6; 
    final int SEVENTH_CHOICE = 7; 
    final int EIGHTH_CHOICE = 8; 
    final String FIRST_PICK = "Love"; 
    final String SECOND_PICK = "Money"; 
    final String THIRD_PICK = "Long Safe Life"; 
    final String FOURTH_PICK = "Short Fun Life"; 
    final String FIFTH_PICK = "Few Very Close and Trusted Friends"; 
    final String SIXTH_PICK = "Internationaly Fameous"; 
    final String SEVENTH_PICK = "Pass away comfortably while sleeping"; 
    final String EIGHTH_PICK = "Quick Sudden Death doing what you love"; 
    String message; 
    String message2; 
    String message3; 
    String message4; 

    Scanner input = new Scanner(System.in); 
    System.out.println("What would you rather have?"); 
    System.out.println("Enter 1 for Love or 2 for Money."); 
    surveyChoice = input.nextInt(); 

    if(surveyChoice == 1) 
    { 
    choice = FIRST_PICK; 
    message = "Love"; 
    } 
    else if(surveyChoice == 2) 
    { 
    choice = SECOND_PICK; 
    message = "Money"; 
    } 
    else 
    choice = "invalid"; 
    message = "An invalid option"; 

    System.out.println("How would you rather live?"); 
    System.out.println("Enter 3 for Long Safe Life or 4 for Short Fun Life."); 
    surveyChoice = input.nextInt(); 

    if(surveyChoice == 3) 
    { 
    choice2 = THIRD_PICK; 
    message2 = "Long Safe Life"; 
    } 
    else if(surveyChoice == 4) 
    { 
    choice2 = FOURTH_PICK; 
    message2 = "Short Fun Life"; 
    } 
    else 
    choice2 = "invalid"; 
    message2 = "An invalid option"; 


    System.out.println("What kind of relationships would you rather have?"); 
    System.out.println("Enter 5 for Few Very Close and Trusted Friends or 6 for Internationaly Fameous."); 
    surveyChoice = input.nextInt(); 

    if(surveyChoice == 5) 
    { 
    choice3 = FIFTH_PICK; 
    message3 = "Few Very Close and Trusted Friends"; 
    } 
    else if(surveyChoice == 6) 
    { 
    choice3 = SIXTH_PICK; 
    message3 = "Internationaly Fameous"; 
    } 
    else 
    choice3 = "invalid"; 
    message3 = "An invalid option"; 


    System.out.println("How would you rather die?"); 
    System.out.println("Enter 7 for Pass away comfortably while sleeping or 8 for Quick Sudden Death doing what you love."); 
    surveyChoice = input.nextInt(); 

    if(surveyChoice == 7) 
    { 
    choice4 = SEVENTH_PICK; 
    message4 = "Pass away comfortably while sleeping"; 
    } 
    else if(surveyChoice == 8) 
    { 
    choice4 = EIGHTH_PICK; 
    message4 = "Quick Sudden Death doing what you love"; 
    } 
    else 
    choice = "invalid"; 
    message = "An invalid option"; 

    System.out.println("You want " + message); 
    System.out.println("You want " + message2); 
    System.out.println("You want " + message3); 
    System.out.println("You want " + message4); 
    System.out.println("You will have " + choice); 
    System.out.println("You will have " + choice2); 
    System.out.println("You will have " + choice3); 
    System.out.println("You will have " + choice4);  
} 

} 
+1

Что ошибка? Есть ли трассировка стека, которая идентифицирует, какая строка имеет ошибку? И что такое _minimum_ код, который демонстрирует ошибку? –

+0

Survey.java:110: ошибка: переменная message4, возможно, не была инициализирована System.out.println («Вы хотите» + сообщение4); –

+0

Survey.java:114: ошибка: переменная choice4 может не быть инициализирована System.out.println («У вас будет» + выбор4); –

ответ

0

Как указано в @OpiesDad, имена переменных в последнем блоке не совпадают.

Кроме того, первое, что выскользнуло мне, заключалось в том, что в блоке if-then-else отсутствуют скобки вокруг блока else else, поэтому для соответствующей переменной сообщения всегда будет установлено значение «Недействительный вариант».

Последнее еще должно выглядеть следующим образом:

else 
{ 
    choice = "invalid"; 
    message = "An invalid option"; 
} 
+0

Я сделаю это. Наверное, я не получил отброшенного назад ко мне из-за других ошибок. Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^