当前位置: 首页 > 知识库问答 >
问题:

更新变量时出错

衡子安
2023-03-14

我想更新我的变量,但我的代码有一个错误,我不知道哪里有错误

    String name = " "; 
    String family = " "; 
    int age = 0;
    Scanner input = new Scanner(System.in);


    int choise;
    while (true){
        System.out.println("1:Name  2:Family  3:Age ---- 0:Exit");
        choise = input.nextInt();
        if (choise == 0) break;
        else if (choise == 1){
            System.out.println("Please enter the name : ");
            name = input.nextLine();
        }
        else if (choise == 2){
            System.out.println("Please enter the family : ");
            family = input.nextLine();
        }
        else if (choise == 3){
            System.out.println("Please enter the age : ");
        }
    }

共有1个答案

农诚
2023-03-14

我试图在本地运行您的代码,发现了两个问题:

    null

这里清楚地描述了这个问题:Java扫描器不等待用户输入

问题是nextInt()不使用'\n',所以下一次调用nextLine()会使用它,然后它会等待读取y的输入

 类似资料:
  • 问题内容: jQuery的 我正在发出一个AJAX请求,该请求会使用服务器的响应来更新变量()的值。这是我正在使用的代码: 问题是的值仍然是一个空字符串。我知道这不是服务器端脚本的问题,因为我会收到错误警报,或者至少得到string 。 这是一个演示问题的JSFiddle:http : //jsfiddle.net/GGDX7/ 为什么不变的价值? 纯JS 我正在发出一个AJAX请求,该请求会使用

  • 问题内容: 第一个System.out打印 2 并且应该打印,而第二个System打印 65 。我已经用这种语言编程了一年多了,据我所知这是不可能发生的!有什么帮助吗? 上面的代码在两行上都显示 9 。 问题答案: 当你这样做,之前仅仅是一个参考阵列, NO 新阵列已创建并分配给。因此,当您查看自己的价值时,基本上就是查看的价值,反之亦然。只是的别名。这就是为什么在第二张照片中您得到65。 检查该

  • 问题内容: 我在测试代码中有一个数组 要求arr [0] .GetId() 服务器是接口。ServerInstance是实现接口方法的结构,即 我有一个像 这正在更新结构的变量“ Id”。我确定值会更新为- 但这并没有反映在第3行的通话中 _*_更新* 范例 http://play.golang.org/p/zUqJ0hEjxv 问题答案: 您在添加结构时将其复制,而不是在示例中放置指向结构本身的

  • 问题内容: 假设我有两个线程在更新一个对象,一个线程在不同步的情况下从该对象读取。显然,这是运行条件。但是,我想知道变量本身是否只能部分写入。 我假设打印出的值也将是2或1。但是,我想知道变量是否可能设置为一半? 我以原语为例,但如果对象不同,我希望答案也适用于对象。 问题答案: 这取决于变量的类型。 s和s(Java中的两种64位类型)如果不是,则允许字眼翻译,而所有其他类型(包括引用)可能永远

  • 我想更新我的变量,我的代码有一个错误,我不知道在哪里我有错误

  • 问题内容: 我是Python和程序设计的新手,但似乎无法理解为什么此函数不更新全局变量 我也尝试过 问题答案: 需要声明的是是全球性的 内部 ,而不是外面。 该语句告诉Python,在函数范围内,它引用的是全局变量,而不是一些新的局部变量。