Java 我的这段代码没有错误,但没有显示任何输出

Java 我的这段代码没有错误,但没有显示任何输出,java,Java,在这段代码中,方法setEid不起作用。我不知道while循环有什么问题 我的这段代码没有错误,但没有显示任何输出 public class Emp { private String eid; public String getEid() { return eid; } public void setEid(String e) { while (e.length() < 12) { eid =

在这段代码中,方法setEid不起作用。我不知道while循环有什么问题

我的这段代码没有错误,但没有显示任何输出

public class Emp {

    private String eid;

    public String getEid() {

        return eid;
    }

    public void setEid(String e) {
        while (e.length() < 12) {
            eid = e;
        }
    }
}

public class Test {

    public static void main(String[] args) {
        Emp z = new Emp();
        z.setEid("rgrge");
        System.out.println("\n" + z.getEid());
    }
}            
公共级电磁脉冲{
私有字符串eid;
公共字符串getEid(){
返回eid;
}
公共void setEid(字符串e){
而(e.长度()<12){
eid=e;
}
}
}
公开课考试{
公共静态void main(字符串[]args){
Emp z=新的Emp();
z、 setEid(“rgrge”);
System.out.println(“\n”+z.getEid());
}
}            

在此处输入代码我希望setEid参数的静态初始化不应超过12个字符

您的setter方法有一个while循环如果eid长度小于12,那么它总是卡在这个方法中

public void setEid(String e){
     while(e.length()<12)
        eid=e;
 }
您在setter中传递
“rgrge”
,其长度小于12。这就是为什么你的程序卡在循环中,没有显示任何东西

将setter实现更改为此

public void setEid(String e){
   if(e.length()<12) // change while to if
        eid=e;
}
public void setEid(字符串e){

如果(e.length()那么首先应该有
if
而不是
while

更改:


while(e.length()欢迎使用堆栈溢出!看起来您可能需要学习使用调试器。请自行解决一些问题。如果您以后仍有问题,请将您的问题更具体地说明您需要什么帮助。这一行
while(e.length()的目的是什么
public void setEid(String e){
   if(e.length()<12) // change while to if
        eid=e;
}