我有两个需要使用的程序。 Grade.java和Gradeclient.java。 我为Grade.java提供了以下内容。
public class Grade
{
private char letterGrade;
public Grade( char 1g )
{
letterGrade = 1g;
}
public char getLetterGrade()
{
return letterGrade;
}
publicvoid setLetterGrade( char 1g)
{
letterGrade = 1g;
}
}
我被告知'在班级成绩客户的主要方法中,
Grade g = new Grade( 'B');
g.letterGrade = 'A';
这表示" lettergrade在Grade"。
中拥有私人访问权限据我了解,我错过了一种获取成绩的mutator方法。但是,我不确定我应该如何编码以及从哪里开始。
这是我到目前为止所尝试的:
public class GradeClient
{
public static void main( String [] agrs )
{
Grade g = new Grade( 'B' );
g.letterGrade = 'A':
}
}
除此之外,该计划的第二部分还包括以下内容:
Grade g = new Grade( "A" );
编译它会产生错误" string无法转换为char。
我对如何开始创建GradeClient.java完全感到困惑,因为前面的示例公共字符串和公共类都是for accessor方法和mutator方法,但我不确定它们是怎样的工作。
有人可以向我解释我应该如何启动GradeClient.java以及公共字符串和公共类的区别?另外,它是什么意思"在GradeClient类的主要方法中,只是在void main中,或者它完全不同。
答案 0 :(得分:1)
在类的主要方法中,GradeClient意味着您必须放入
public static void main(String[] args) { }
此外,您有g.letterGrade = 'A';
,请使用g.setLetterGrade('A');
答案 1 :(得分:0)
您已将letterGrade
声明为Grade
的私有,这意味着它只能在Grade
内直接访问。
如果要在实例化后更改letterGrade
的值,则可以使用定义的公共方法setLetterGrade
,如
g.setLetterGrade('A');
关于编译错误"字符串无法转换为char",因为在行Grade g = new Grade( "A" );
中,您在构造函数的参数中使用了双引号。使用双引号表示您正在定义String
。但是,在构造函数中,您将参数定义为char
。如果您想使用char
作为参数,那么在实例化Grade
Grade g = new Grade( 'A' );