Java 程序运行不正常
我正在尝试编写一个程序,用户可以在其中命名机器人并在之后执行任务。我的问题是: 一,。在用户第一次输入机器人的名称后,用户必须输入“enter”键才能显示下一个字符串。我希望用户输入后的下一个字符串在立即输入名称后出现 二,。第一个用户输入后的字符串是:您确定要将robot命名为+r1.name+?;但是,控制台不显示r1.name部分 编辑: 三,。如果我输入一个非1或2的值。控制台显示: 请输入适当的答案。 你确定要命名你的机器人吗 它不显示我先前输入的名称。不管怎么说,要修好它吗 以下是我的代码:Java 程序运行不正常,java,loops,while-loop,boolean,Java,Loops,While Loop,Boolean,我正在尝试编写一个程序,用户可以在其中命名机器人并在之后执行任务。我的问题是: 一,。在用户第一次输入机器人的名称后,用户必须输入“enter”键才能显示下一个字符串。我希望用户输入后的下一个字符串在立即输入名称后出现 二,。第一个用户输入后的字符串是:您确定要将robot命名为+r1.name+?;但是,控制台不显示r1.name部分 编辑: 三,。如果我输入一个非1或2的值。控制台显示: 请输入适当的答案。 你确定要命名你的机器人吗 它不显示我先前输入的名称。不管怎么说,要修好它吗 以下是我
import java.util.Scanner;
class robot {
String name;
double time;
void print() {
System.out.println("My name is " + name + ".");
}
void command() {
}
}
public class t1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
robot r1 = new robot();
System.out.println("Please enter a name for your robot: ");
r1.name = input.nextLine();
boolean confirm = false;
while (confirm == false) {
r1.name = input.nextLine();
System.out.println("Are you sure you want to name your robot "
+ r1.name + "?");
System.out.println("1) Yes");
System.out.println("2) No");
switch (input.nextInt()) {
case 1:
System.out.println("Your robot has been named as " + r1.name
+ ".");
confirm = true;
break;
case 2:
System.out.println("Please enter a name for your robot: ");
r1.name = input.nextLine();
break;
default:
System.out.println("Please enter an appropriate answer.");
break;
}
}
}
}
如果我理解您的问题,应该通过注释掉第一个r1.name=input.nextLine来解决这个问题- 无论如何,您都会忽略该字符串,并输入confirm==false while循环。那可能是
while (! confirm) { // <-- using NOT.
设置r1.name=input.nextLine;两次第二次在while循环中,它读取的下一行不是您输入的名称。尝试删除其中一个r1.name=input.nextLine
while (! confirm) { // <-- using NOT.