java - 如何在java中将一个对象作为参数传递并将它的一些值与另一个对象进行比较
问题描述
我是一名 APCS 学生,目前我们正在学习构建课程。在下面的代码中,我已经编写了我们需要的大部分方法,例如 setGpa、setName 等。我需要最后一个方法的帮助,即 compareToStudent。此方法旨在用于类似 s2.compareToStudent(s1)。所以它应该拿学生 s1 和 s2 的 gpa 并比较它们并打印哪个更高。我知道如何使用 >,< == 和打印行进行比较。
我需要有关如何将 s2 作为参数传递并编写获取 s1 对象的 gpa 和 s2 对象的 gpa 的方法的帮助。如何将对象作为参数传递给该方法,然后使用它来获取值。
请帮忙。谢谢!
import java.util.*;
public class Student
{
//Private Variables (Available throughout Class)
private String firstName;
private String lastName;
private int grade;
private double gpa;
private int studentID;
Random rn = new Random();
public Student(String lName, String fName, int classGrade)
//Parameter
Constructor
{
lastName= lName;
firstName=fName;
grade=classGrade;
gpa=0.0;
studentID=rn.nextInt(201850)+201806;
}
public Student() //Default Constructor
{
firstName=null;
lastName=null;
grade = 9;
gpa = 0.00;
studentID=rn.nextInt(201850)+201806;
}
public void printStudentInfo()
{
System.out.println("Student Information");
System.out.println("Name : " +firstName+" "+lastName);
System.out.println("Grade : " +grade);
System.out.println("Gpa : " +gpa);
System.out.println("Student ID : " +studentID);
System.out.println();
}
public void setGpa(double newGpa)
{
gpa=newGpa;
}
public void setName(String newlastName, String newfirstName)
{
firstName=newfirstName;
lastName=newlastName;
}
public void setGrade(int newGrade)
{
grade=newGrade;
}
// Challenge Methods ///////////////////////
public void printGrad()
{
System.out.println("Here's the graduation status :");
if(grade==9)
System.out.println(firstName+ " " +lastName+ " is expected to graduate in
4 years.)");
if(grade==10)
System.out.println(firstName+ " " +lastName+ " is expected to graduate in
3 years.");
if(grade==11)
System.out.println(firstName+ " " +lastName+ " is expected to graduate in
2 years.");
if(grade==12)
System.out.println(firstName+ " " +lastName+ " is expected to graduate
this year.");
}
public void compareToStudent()
{
//NEED HELP HERE.
}
}
解决方案
欢迎并祝你学习顺利。compareToStudent 方法需要一个 Student 参数。参数的一个示例是 setGrade 方法中的 newGrade。但是,对于 compareToStudent,参数将是 Student 类型。一旦你有了它, compareToStudent 方法就可以比较它所在的 Student 实例和传入的 Student 的字段值,例如String.compare(this.name, student.name)
当您尝试这样做时,如果您需要更多帮助,请使用更新的代码和更具体的问题来更新问题。
推荐阅读
- css - 我的地图传单宽度在移动版本中的 CSS 显示问题只是页眉和页脚
- python - 在pycharm中安装Keras导致失败
- typescript - 在打字稿中,我可以强制括号表示法返回可选值吗?
- javascript - 尝试查找启动 YouTube 流媒体广播的视频 ID
- python - ImportError:无法从“functools”导入名称“缓存”
- python - 使用 Python 请求进行 Webscraping 并在更新标头后拒绝访问
- python-3.x - 无法抓取此页面,有什么建议吗?
- amazon-web-services - AWS Lambda 和 AWS Elastic Beanstalk 有什么区别
- php - 根据 2 个已知字段从 wordpress 发布元信息中获取信息
- excel - 字符数限制为 50 设置 Cell.Value