初学者 - 循环Java编程

Goo*_*593 0 java while-loop

每次输入内容时,此代码都会继续循环.怎么解决?

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");
    }
}
Run Code Online (Sandbox Code Playgroud)

Heres是整个事情的截图:

在此输入图像描述

Edd*_*Edd 5

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

public void setName(String newName) {
    newName = name;
}
Run Code Online (Sandbox Code Playgroud)

分配是错误的,所以你永远不会更新你的name领域.它应该是name = newName;.