【问题标题】:Program not running properly程序运行不正常
【发布时间】:2014-10-04 14:25:12
【问题描述】:

我正在尝试编写一个程序,用户可以在其中命名机器人并在之后执行任务。我的问题是:

1.) 用户第一次输入机器人名称后,用户必须输入“enter”键才能出现下一个字符串。 (我希望用户输入后的下一个字符串在输入名称后立即出现。)

2.) 第一个用户输入后的字符串是 ("Are you sure you want to name your robot " + r1.name + "?");但是,控制台不显示 r1.name 部分。

编辑:

3.) 如果我输入的不是 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;
        }

    }
}
}

【问题讨论】:

    标签: java loops while-loop boolean


    【解决方案1】:

    如果我理解您的问题,应该通过注释掉第一个 r1.name = input.nextLine(); 来解决问题 -

    // r1.name = input.nextLine();
    boolean confirm = false;
    while (confirm == false) {
        r1.name = input.nextLine();
    

    无论如何,您都忽略该字符串并进入confirm == false while 循环。那可能是

    while (! confirm) { // <-- using NOT.
    

    【讨论】:

      【解决方案2】:

      您设置了两次r1.name = input.nextLine();。第二次(在您的while 循环内)它读取nextLine(),这不是您输入的名称。尝试删除r1.name = input.nextLine(); 之一

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-01
        • 1970-01-01
        • 2020-06-28
        • 1970-01-01
        • 2017-02-08
        • 1970-01-01
        相关资源
        最近更新 更多