Java 如果不是,你能把字符串转换成Int吗?

Java 如果不是,你能把字符串转换成Int吗?,java,string,type-conversion,Java,String,Type Conversion,我一直在摆弄这个有一点,但我不能让它运行。除了最后一部分,我希望它给出一个月的数字。有更好的方法吗?我得到的是,每当我运行程序时,我希望它给我月数的部分总是给我else值0。是的,我知道我可以使用一个开关,我有一个版本,作为一个开关完全可以正常工作,但我需要它作为一个if/else 在这种情况下我能做些什么吗 import java.util.Scanner; public class Months { static Scanner userInput = new Scanner(S

我一直在摆弄这个有一点,但我不能让它运行。除了最后一部分,我希望它给出一个月的数字。有更好的方法吗?我得到的是,每当我运行程序时,我希望它给我月数的部分总是给我else值0。是的,我知道我可以使用一个开关,我有一个版本,作为一个开关完全可以正常工作,但我需要它作为一个if/else

在这种情况下我能做些什么吗

import java.util.Scanner;

public class Months {

    static Scanner userInput = new Scanner(System.in);

    public static String idString(){

         return "Months, Kain R, csscXXXX";

    }

    public static void main(String[] args) {

        System.out.println("Enter the month:");

        String userMon = userInput.nextLine();

        if (userMon.charAt(0) > 90 ) {
            userMon = userMon.substring(0,1).toUpperCase() + userMon.substring(1);
        }

        else {
            userMon = userMon;
        }

        System.out.println("You entered " + userMon);

        userMon = userMon.substring(0, 3).toUpperCase();


        System.out.println("Its abbreviation is " + userMon);


        if (userMon == "JAN") {
            userMon = "1";
        }
        else if (userMon == "FEB") {
             userMon = "2";
        }
        else if (userMon == "MAR") {
            userMon = "3";
        }
        else if (userMon == "APR") {
            userMon = "4";
        }
        else if (userMon == "MAY") {
            userMon = "5";
        }
        else if (userMon == "JUN") {
            userMon = "6";
        }
        else if (userMon == "JUL") {
            userMon = "7";
        }
        else if (userMon == "AUG") {
            userMon = "8";
        }
        else if (userMon == "SEP") {
            userMon = "9";
        }
        else if (userMon == "OCT") {
            userMon = "10";
        }
        else if (userMon == "NOV") {
            userMon = "11";
        }
        else if (userMon == "DEC") {
            userMon = "12";
        }
        else {
            userMon = "0";
        }


        System.out.println("This is month number " + userMon);
    }
}

在Java中,为了比较两个字符串对象,必须使用方法“equals”。如果您使用
==
,您将比较它们的引用,它们是不同的

始终将文字放在前面,以避免NullPointers异常

if ("JAN".equals(userMon)) {
    userMon = "1";
}
您可以考虑使用某种类型的
映射来映射
字符串
和结果值