I'm a complete beginner with Java, and I've been making simple test-programs to review some of the material I read. The following block of code works incorrectly. It's supposed to accept a Year, Month, and Date from the user, and then create a GregorianCalendar object initialized with the year, month and date. However, when I try to return the GregorianCalendar variable's month, it always gives back the month I initialized the month variable with. I'm not sure why. 

```
import java.util.*;
public class Prac {
    public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    System.out.print("Enter Year: ");
    int YEAR = input.nextInt();
    System.out.print("Enter Month: ");
    String MONTH_STRING = input.next();
    System.out.print("Enter Date: ");
    int DATE = input.nextInt();
    int MONTH = 10;
    String mon = MONTH_STRING.toLowerCase();

    if (mon == "january") {
        MONTH = 0;
    } else if (mon == "february") {
        MONTH = 1;
    } else if (mon == "march") {
        MONTH = 2;
    } else if (mon == "april") {
        MONTH =3;
    } else if (mon == "may"){
        MONTH =4;
    } else if (mon == "june"){
        MONTH =5;
    } else if (mon == "july"){
        MONTH =6;
    } else if (mon == "august"){
        MONTH=7;
    } else if (mon == "september"){
        MONTH=8;
    } else if (mon == "october"){
        MONTH=9;
    } else if (mon == "november"){
        MONTH=10;
    } else if (mon == "december"){
        MONTH =11;
    }

    GregorianCalendar entDate = new GregorianCalendar(YEAR,MONTH,DATE);
    System.out.println(entDate.get(Calendar.MONTH));
    }
}

```

Also, I'm aware I could have used a switch block, but it gave me strange errors somehow.