使用扫描仪在构造函数中调用set方法

时间:2018-10-08 03:28:42

标签: java input constructor method-call

我正在尝试在接受用户输入实例化对象的构造函数中调用set方法。设置方法的示例如下:

public void setName(String name) {
    if(name.length()>0 && name.length()<25) {
        this.name = name;
    }
    else {System.out.println("Name length can not exceed 25 characters.");}
}

然后,我想接受用户输入以实例化对象。我目前的格式如下:

public Character(String name){ name = setName(input.nextLine());}

我已导入扫描仪并创建了一个扫描仪对象。字符构造函数本身实际上是很大的,它由29个变量组成,每个变量都具有与第一个代码示例相似的set方法。

我的最终目标是将其放入GUI表单中,以便人们填写。 Eclipse为我当前的语法提供的错误是“类型不匹配,无法从void转换为String”。

这应该怎么做?

1 个答案:

答案 0 :(得分:-1)

最简单的方法是像这样修改代码:

public String setName(String name) {
    if(name.length()>0 && name.length()<25) {
        this.name = name;
    }
    else {System.out.println("Name length can not exceed 25 characters.");}
    return name;
}