【发布时间】:2013-09-22 08:37:05
【问题描述】:
我正在通过构造函数传递一个字符串并将其值分配给 Grade 类型对象类变量。我知道这很简单,但我无法弄清楚这项工作。我不能修改变量或构造函数参数,只能实现构造函数。
我查看了字符串中的方法,但一个小时后无法弄清楚该怎么做。铸造/转换/ idk
public class Course
{
private String courseNumber;
private int numberOfCredits;
private Grade gradeReceived;
private String termWhenTaken;
/**
* The value for the courseNumber instance variable is converted to uppercase.
* The numberOfCredits instance variable is set to the credits passed as a parameter if it's 0 or more.
* Otherwise, it gets set to 0.
*/
public Course(String course, int credits, String grade, String term)
{ courseNumber = course.toUpperCase();
numberOfCredits = credits;
termWhenTaken = term;
gradeReceived = grade; <-----problem here mismatched data types obviously
}
【问题讨论】:
-
如果不看 Grade 类就很难提供帮助,因为我们不知道它的构造函数期望什么。问题是您试图将变量 (gradeRecieved) 分配给不同类型的值。
-
gradeReceived = new Grade(grade); -
糟糕,谢谢 - 这里是构造函数“public Grade(String Grade)”
-
谢谢@nachokk 解决了这个问题。你能解释一下它是如何工作的吗?
-
@XoronioX 查看提供的答案,说的和我一样,但有解释,java 是强类型语言,你不能将
String分配给Grade之间没有任何关系,所以你需要一个Grade对象。
标签: java string types constructor