如何从扫描仪获取输入到另一个 class 中我的私有变量字符串?
how to get input from scanner to my private viarable string in another class?
这是我的第一个作业,如何从扫描仪获取输入到我在另一个 class 中的私有 viarable 字符串?
- 按照下面的描述创建作者class。(我已经完成了)
- 创建一个名为 TestAuthor 的测试 class 来测试 class Author 中的所有 public 方法。以下
是输出的例子。
the questions
这是我的作者代码
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+"]";
}
}
这是我的测试作者
我得到这个错误
'The method getName() in the type Author is not applicable for the arguments (String)'
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());
}
}
TIA
您需要为作者 class 中的名称 属性 添加 setter 方法,如下所示:
包分配1;
public class作者{
//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 class 中,您需要调用 setter 来设置值,然后像这样调用:
包分配1;
导入 java.util.Scanner; // 导入扫描仪 class
public class 测试作者 {
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());
}
}
谢谢你的帮助,我得到了答案
这是我的测试作者文件
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());
}
}
这是我的第一个作业,如何从扫描仪获取输入到我在另一个 class 中的私有 viarable 字符串?
- 按照下面的描述创建作者class。(我已经完成了)
- 创建一个名为 TestAuthor 的测试 class 来测试 class Author 中的所有 public 方法。以下 是输出的例子。
the questions
这是我的作者代码
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+"]";
}
}
这是我的测试作者 我得到这个错误 'The method getName() in the type Author is not applicable for the arguments (String)'
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());
}
}
TIA
您需要为作者 class 中的名称 属性 添加 setter 方法,如下所示:
包分配1;
public class作者{
//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 class 中,您需要调用 setter 来设置值,然后像这样调用:
包分配1; 导入 java.util.Scanner; // 导入扫描仪 class
public class 测试作者 {
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());
}
}
谢谢你的帮助,我得到了答案 这是我的测试作者文件
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());
}
}