2013-12-23 4 views
-4

Я пишу программу для школьного задания для создания одного массива строк из 3 загадок и другого массива строк из 3 ответов на каждую загадку. Однако, когда я ввожу правильный ответ в загадку, он продолжает показывать другую часть инструкции if-else. Вот мой код:Операция Else-if не работает должным образом при оценке Строки

import java.util.Scanner; 
import java.util.Random; 
public class riddleProgram { 
public static void main (String[]args) { 
Scanner input = new Scanner(System.in); 
Random rand = new Random(); 
int index; 
int chosenRiddles = rand.nextInt(2); 

//declares the riddles in the program as well as choosing a random riddle from the three presented 
String[]riddle = new String[3]; 
riddle[0] = "What starts with a T, ends with a T, and has T in it?"; 
riddle[1] = "The day before two days after the day before tommorrow is Saturday. What day is it today?"; 
riddle[2] = "What grows up while growing down?"; 

//declares the answers to the riddles 
String[]answer = new String[3]; 
answer[0] = ("teapot"); 
answer[1] = ("friday"); 
answer[2] = ("goose"); 

//asks user to enter guessed answer for the randomly presented riddle 
for (index=0; index<3; index++); { 
    System.out.println(riddle[chosenRiddles]); 
    System.out.print("Enter your answer for the presented riddle (lowercase): "); 
    String inputtedAnswer = input.nextLine(); 

//if user inputs right answer, congratulates user 
//if user inputs incorrect answer, tells user the correct answer 
    if (inputtedAnswer == answer[chosenRiddles]) { 
    System.out.println("Congratulations, you have gotten the right answer!"); } 
    else { 
    System.out.println("Sorry you had the wrong answer. The right answer is " + answer[chosenRiddles] + ".");} 
} 
} 
} 

ответ

0

никогда не сравнивать строки с ==

вы всегда должны использовать .equals()

if (answer[chosenRiddles].equals(inputtedAnswer)) { 

вы также должны попытаться иметь постоянное значение (тот, который будет всегда существуют) слева от них, чтобы предотвратить возможные NullPointerExceptions.

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