在我的代码结束时,用户选择重复。当它这样做时,它输出整个循环与原始工作而不是新输入的单词。例如,如果用户输入单词Pizza。它会像我想要的那样循环。当我选择重复它时,循环将再次使用单词Pizza而不是向我询问不同的单词。
do {
if (answer == 1){
System.out.println("Please enter another word:");
}
for (int i = 0; i < word.length(); i++) {
firstLetter = word.charAt(0);
word = word.substring(1, word.length());
System.out.println(firstLetter + word);
word += firstLetter;
}
System.out.println("Would you like to Enter another word? If so, press 1. If not press 2.");
answer = input.nextInt();
input.nextLine();
}
while(answer == 1);
System.out.println("Have a nice day!");
}
}
此代码的输出是: 比萨 izzap zzapi zapiz apizz 你想输入另一个词吗?如果是,请按1.如果不是,请按2。 当我按1时它将立即重复它而不要求我换个新词。我怎样才能得到理想的结果?
答案 0 :(得分:2)
System.out.println("Would you like to Enter another word? If so, press 1. If not press 2.");
answer = input.nextInt();
input.nextLine();
我认为如果你拿出最后一行它会正常工作
更新
答案 1 :(得分:1)
也许这样的事情。您也缺少该单词的输入。您需要来自用户的单词和操作。
do {
System.out.println("1 for new word, 2 for exit");
answer = input.nextInt();
input.nextLine();
System.out.println("input word");
String word = input.nextLine();
if (answer == 1){
for (int i = 0; i < word.length(); i++) {
firstLetter = word.charAt(0);
word = word.substring(1, word.length());
System.out.println(firstLetter + word);
word += firstLetter;
}
}
} while(answer == 1);
System.out.println("Have a nice day!");