带有 if 语句和 for 循环的 while 循环

A while loop with an if statement and a for loop in it

我正在尝试创建一个小程序,我可以用一个单词读出该程序。如果单词有 6 个字母,则向后显示单词。 如果不是,请告诉用户这个词有多少个字母。这样做直到用户输入“japan”。

示例输出为:

Enter a word > chess

chess has 5 letters

Enter a word > google

Magic six! ELGOOG

Enter a word > japan

Goodbye!

if 语句和 for 循环由于某种原因被绕过,我不确定为什么。我当前的代码是这样的:

import java.util.*; //imports the utilities
public class WordPyramid {
    public static void main(String[] args) {
        String n;
        Scanner kb = new Scanner(System.in);
        System.out.println("Enter a word: "); 

        while ((n = kb.nextLine().toLowerCase()) == "japan" ) {
            int y = n.length();
            {
                if (y == 6) {
                    String reverse = "";

                    for (int i = y - 1; i >= 0; i--) {
                        reverse = reverse + n.charAt(i);
                        System.out.println(reverse);
                    }
                }
                else {
                    System.out.println(n + " has " + y + 1 + " letters ");
                }
            }
        }
    }
}

使用: kb.next() 而不是 kb.nextLine()

此外,要与 String 对象进行比较,您必须使用 equals(),例如:
while ((n = kb.nextLine().toLowerCase()).equals("japan")) {