类型不匹配。不能在 java 中从 String 到 Student
Type mismatch. cannot from String to Student in java
一个完全菜鸟的问题。我正在尝试从 Scanner
转换为 Student
类型。这是我学术作业的一部分,因此,我不能将 return 类型的 getStudent()
方法更改为字符串。任何输入?谢谢。
public Student getStudent() {
Scanner sc = new Scanner(System.in);
Student name = sc.nextLine();
return name;
}
你这样做的原因可能是因为 Student
class 只有一个 name
字段。你以为只要 return 一个名字就可以假装是学生,是吗?但这不是 Java 的工作方式。 Java 的类型系统是静态的、明确的和安全的。这意味着你不能只是作弊Java,你必须指定正确类型。
现在,如果您的 Student
class 还没有构造函数,请添加一个构造函数。也许是这样的:
public Student (String name) {
this.name = name;
// If you have other fields, assign them here.
}
现在在您的方法中,您删除 return name;
并将其替换为
return new Student (name);
你的错误结论:
String
和另一个class是完全不同的类型。虽然 Student
class 只有 String
.
类型的字段
一个完全菜鸟的问题。我正在尝试从 Scanner
转换为 Student
类型。这是我学术作业的一部分,因此,我不能将 return 类型的 getStudent()
方法更改为字符串。任何输入?谢谢。
public Student getStudent() {
Scanner sc = new Scanner(System.in);
Student name = sc.nextLine();
return name;
}
你这样做的原因可能是因为 Student
class 只有一个 name
字段。你以为只要 return 一个名字就可以假装是学生,是吗?但这不是 Java 的工作方式。 Java 的类型系统是静态的、明确的和安全的。这意味着你不能只是作弊Java,你必须指定正确类型。
现在,如果您的 Student
class 还没有构造函数,请添加一个构造函数。也许是这样的:
public Student (String name) {
this.name = name;
// If you have other fields, assign them here.
}
现在在您的方法中,您删除 return name;
并将其替换为
return new Student (name);
你的错误结论:
String
和另一个class是完全不同的类型。虽然 Student
class 只有 String
.