#java #java.util.scanner
Вопрос:
это мое первое задание, как получить ввод от сканера в мою личную строку в другом классе?
- Создайте класс автора, как описано ниже.(я уже сделал это)
- Создайте тестовый класс TestAuthor для тестирования всех общедоступных методов в классе Author. Ниже приведен пример вывода.
это мой авторский код
package assignment1;
public class Author {
//attribute of the class
private String name;
private String email;
private char gender;
//constructor
public Author(String name, String email, char gender) {
this.name = name;
this.email = email;
this.gender = gender;
}
//methods
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public void setEmail(String newEmail) {
this.email = newEmail;
}
public char getGender() {
return gender;
}
//method to get data from author object
public String toString() {
return "Author[name=" name ", email=" email ", gender=" gender "]";
}
}
это мой автор
теста, и я получаю эту ошибку
‘Метод getName() в типе Автор неприменим для аргументов (строка)’
package assignment1;
import java.util.Scanner; // Import the Scanner class
public class TestAuthor {
public static void main (String[] args) {
//test constructor
Author newAuthor = new Author();
Scanner input = new Scanner(System.in);
System.out.println("Please enter name : ");
String name = input.nextLine();
newAuthor.getName(name);
System.out.println("Name : " newAuthor.getName());
}
}
ТИА
Комментарии:
1. Просто удалите
name
аргумент в вызове функции.getName
метод не требует никаких параметров.
Ответ №1:
Вам нужно добавить метод настройки для свойства name в классе Author, как это:
назначение пакета 1;
автор открытого класса {
//attribute of the class
private String name;
private String email;
private char gender;
//constructor
public Author(String name, String email, char gender) {
this.name = name;
this.email = email;
this.gender = gender;
}
//methods
public String getName() {
return name;
}
public void setName(String name){
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String newEmail) {
this.email = newEmail;
}
public char getGender() {
return gender;
}
//method to get data from author object
public String toString() {
return "Author[name=" name ", email=" email ", gender=" gender "]";
}
}
В классе TestAuthor вам нужно вызвать setter, чтобы установить значение, а затем позвонить следующим образом :
назначение пакета 1; импорт java.util.Сканер; // Импорт класса сканера
теставтор открытого класса {
public static void main (String[] args) {
//test constructor
Author newAuthor = new Author();
Scanner input = new Scanner(System.in);
System.out.println("Please enter name : ");
String name = input.nextLine();
newAuthor.setName(name);
System.out.println("Name : " newAuthor.getName());
}
}
Ответ №2:
спасибо за помощь, я получил ответ, это мой файл теставтора
package assignment1;
import java.util.Scanner; // Import the Scanner class
public class TestAuthor {
public static void main (String[] args) {
//set variables()
String name;
String email;
char gender;
//Scanner input object
Scanner input = new Scanner(System.in);
//get user input
System.out.println("Please enter Name : ");
name= input.nextLine();
System.out.println("Please enter Email : ");
email= input.nextLine();
System.out.println("Please enter Gender : ");
gender= input.nextLine().charAt(0);
//
Author newAuthor = new Author(name,email,gender);
name = newAuthor.getName();
email = newAuthor.getEmail();
gender = newAuthor.getGender();
//output toString
System.out.println(newAuthor.toString());
//set new email
System.out.println("Please change Email : ");
String newEmail= input.nextLine();
newAuthor.setEmail(newEmail);
//output
System.out.println("Name : " newAuthor.getName());
System.out.println("Email : " newAuthor.getEmail());
System.out.println("Gender : " newAuthor.getGender());
}
}
Комментарии:
1. Круто, но вы упомянули, что у вас возникли проблемы с получением входного значения для стоимости частной собственности в другом классе, в любом случае это хорошо работает для вас.
2. Да, извините, я не знаю, как сказать о проблеме, в любом случае спасибо вам за помощь