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

时间:2015-01-27 21:54:10

标签: java loops if-statement for-loop while-loop

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

示例输出为:

  

输入字词>棋

     国际象棋有5个字母

     

输入字词>谷歌

     

魔术六! ELGOOG

     

输入字词>日本

     

再见!

出于某种原因绕过了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 ");
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:2)

使用: kb.next()代替kb.nextLine()

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