使用scanner在构造函数中调用set方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用scanner在构造函数中调用set方法相关的知识,希望对你有一定的参考价值。

我试图在接受用户输入来实例化对象的构造函数中调用set方法。 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”。

应该怎么做?

答案

最简单的方法是修改你的代码,如下所示:

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;
}

以上是关于使用scanner在构造函数中调用set方法的主要内容,如果未能解决你的问题,请参考以下文章

在构造函数中存储DbSet而不是调用DbContext.Set 适合各种用途

类Scanner

类Scanner

Android 逆向整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexFile loadDexFile 函数 | 构造函数 | openDexFile 函数 )(代码片

类 Scanner

面试-面向对象