循环时不会在内部打印线条

时间:2014-02-04 01:17:15

标签: java while-loop

我不知道为什么线条不会在while循环中打印。我也离开了。请帮忙。 程序运行但是while循环中的任何内容都不会打印。

public class RomanNumeralHelper {

    /**
     * (Insert a brief description that describes the purpose of this method)
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String myRoman;
        String upperRoman;

        System.out.print("Enter a roman numeral [Q | q to quit]: ");
        myRoman = in.next();
        upperRoman = myRoman.toUpperCase();

        while (upperRoman != "Q") {
            if (upperRoman == "I") {
                System.out.println(">> 1");
            } else if (upperRoman == "II") {
                System.out.println(">> 2");
            } else if (upperRoman == "III") {
                System.out.println(">> 3");
            } else if (upperRoman == "IV") {
                System.out.println(">> 4");
            } else if (upperRoman == "V") {
                System.out.println(">> 5");
            }

            System.out.print("Enter a roman numeral [Q | q to quit]: ");
            myRoman = in.next();
            upperRoman = myRoman.toUpperCase();
        }

        System.out.println("Good Bye!");

        // (5) Closes the in object to avoid a resource leak.
        in.close();
    }
}

2 个答案:

答案 0 :(得分:3)

将字符串与equals()进行比较,而不是==

答案 1 :(得分:0)

您也可以通过不将其更改为大写并使用.equalsIgnoreCase()来比较字符串来清理它。

此外,您可以在while循环中包含第一个打印,而不是在循环结束时重复。这些只是一些清理代码的小技巧。