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

初学者-Java编程While循环

彭衡
2023-03-14

每次我输入东西时,这段代码都会循环。如何修复它?

public void inputPlayer()
{
    Scanner input = new Scanner(System.in);
    while(name.length() < 1)
    {
        System.out.println("Name: ");
        this.setName(input.nextLine());
        //name = input.nextLine();

        if(name.length() < 1)
            System.err.println("Must have one or more characters");
    }
}

这是整个事情的截图:

共有2个答案

岳浩
2023-03-14

因为setName函数错误

它应该是:

    public void setName(String newName) {
        name = newName;
    }

您输入newName=名称;

狄玉书
2023-03-14

该问题在屏幕截图中可见,并且与您的setName()方法有关,当前为:

public void setName(String newName) {
    newName = name;
}

分配方式不对,因此您从不更新您的名称字段。它应该是<代码>名称=新名称

 类似资料:
  • 我是一个非常初级的程序员,正在上暑期班。因此,请轻松使用代码。我需要创建一个投资应用程序,计算2500美元的投资如果以每年7.5%的复利计算,需要多少年才能达到至少5000美元的价值。顺便说一下,我不知道什么是for循环。我只是想不出如何处理循环,不是方程式而是循环。请帮忙!! 这就是我目前所拥有的。

  • 这里的主要错误是do-while循环不会退出。该计划的前提是从一个行星跳到另一个行星,而planetName是目的地,current是您当前所在的行星。我想要的是当电流为“Io”时退出循环。每次“跳转”到另一个行星后,目的地即成为当前行星。我已经测试过了,当电流在 然而,循环仍在继续。

  • 这里是Uni learning Python编程入门课程的初学者。直到我明白了大部分,现在我很困惑。 有人能解释为什么这会产生它输出的模式吗? 外循环触发器和() 然后内部循环触发器和() 然后它不会打印(6),因为

  • 你好我已经想尽一切办法弄清楚为什么返回语句没有被识别。如果我把“回报余额”放在其他地方,它会说系统。出来无法访问println。。。你们谁能帮我解释一下为什么这可能不起作用??非常感谢。

  • 本文向大家介绍java初学者如何让编程学习起来更简单,包括了java初学者如何让编程学习起来更简单的使用技巧和注意事项,需要的朋友参考一下 如果不喜欢学Java就不要学了,硬要逼着自己去学到头来也会是一知半解.不仅浪费时间,也浪费金钱,如果喜欢Java那就继续学,并且努力学,学好Java会有意想不到的好处。学习Java会有一个很艰难的过渡期,在此期间你要努力学好它并度过它,那么你就成功了。学任何东

  • 本教程的主要内容是介绍如何使用 jMonkeyEngine 进行游戏开发,旨在帮助初学者快速理解 jMonkeyEngine 中的核心概念。由于作者本人水品有限,文中难以避免出现谬误,如您在阅读过程中发现有不对的地方,请告知本人,我会尽快修正。 jME3 官方网站: 官网: http://jmonkeyengine.org/ 论坛: https://hub.jmonkeyengine.org Gi