вызвать метод set в конструкторе со сканером - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь вызвать метод 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, аналогичный первому примеру кода.

Моя конечная цель состоит в том, чтобы поместить это в форму графического интерфейса для человека, чтобы заполнить.Eclipse выдает ошибку для моего текущего синтаксиса: «несоответствие типов, невозможно преобразовать из void в String».

Как это должно быть сделано?

1 Ответ

0 голосов
/ 08 октября 2018

Самый простой подход - изменить код следующим образом:

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