我正在尝试创建一个小程序,我可以在一个单词中读取程序。如果单词有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 ");
}
}
}
}
}
答案 0 :(得分:2)
使用:
kb.next()
代替kb.nextLine()
此外,要与String对象进行比较,您必须使用equals()
,如:
while ((n = kb.nextLine().toLowerCase()).equals("japan")) {