title: Not getting the correct output from this if statement in for loop?
body: <p>I'm making a vocabulary practice program using arrays (I know, not Lists, but I need array practice). However, everything goes well until the program evaluates if the typed answer (when the program quizzes the user) is the actual definition. I always get the answer wrong, and I don't know why. Here's the whole program:</p>
  
  <pre><code>import java.util.Scanner;
  
  public class organ {
  public Scanner input = new Scanner(System.in);
  public String language;
  public int temp;
  
  public static void main(String[] args){
      organ organObject = new organ();
      organObject.greeting();
      organObject.ending();
  }
  
  public void greeting(){
      System.out.println("Hello! Do you want to practice vocabulary in English or Spanish?");
      //Need to fix this grammar.
      System.out.println("!Hola! ?Quieres practicar el vocabulario en ingles o espanol?");
      language = input.nextLine();
      checkLanguage(language);
  }
  public void checkLanguage(String answer){
      if (language.equals("English") || language.equals("ingles")){
          englishTree();
      }
      else{
          spanishTree();
      }
  }
  public void englishTree(){
      System.out.println("How many words do you want to practice using?");
      int temp = input.nextInt();
      String[] wordStorage = new String[temp];
      String[] meaningStorage = new String[temp];
      String answer;
          for(int counter = 0; counter &lt; wordStorage.length; counter++){
  
              System.out.println("What is word number " + (1 + counter) +   "?");
              wordStorage[counter] = input.next();
  
              System.out.println("What is def number " + (1 + counter) + "?");
              meaningStorage[counter] = input.next();
          }
      if (wordStorage.length &gt; 10) {
          System.out.println("Stop. Now.");
      }
      System.out.println("Alright, let's get to the good stuff.");
      for(int counter = 0; counter &lt; wordStorage.length; counter++){
          System.out.println("What is the meaning of " + wordStorage[counter] + "?");
          answer = input.next();
          if (answer == meaningStorage[counter]){
              System.out.println("Correct!");
          }
          if (answer != meaningStorage[counter]){
              System.out.println("Wrong. The answer is " + meaningStorage[counter] + ".");
          }
      }
  }
  public void spanishTree(){
      System.out.println("Espere.");
  }
  public void ending(){
      System.out.println("This is the ending of the program for now. Bye!");
  }
  </code></pre>
  
  <p>}
  The problem is under "Alright, let's get to the good stuff."</p>