Java toString()方法问题
我一直在做这个任务这里的代码是:Java toString()方法问题,java,Java,我一直在做这个任务这里的代码是: public class Student { private String fname; private String lname; private String studentId; private double gpa; public Student(String studentFname,String studentLname,String stuId,double studentGpa) { fname = studentFna
public class Student
{
private String fname;
private String lname;
private String studentId;
private double gpa;
public Student(String studentFname,String studentLname,String stuId,double studentGpa)
{
fname = studentFname;
lname = studentLname;
studentId = stuId;
gpa = studentGpa;
}
public double getGpa()
{
return gpa;
}
public String getStudentId()
{
return studentId;
}
public String getName()
{
return lname + ", " + fname;
}
public void setGpa(double gpaReplacement)
{
if (gpaReplacement >= 0.0 && gpaReplacement <= 4.0)
gpa = gpaReplacement;
else
System.out.println("Invalid GPA! Please try again.");
System.exit(0);
}
}
公共班级学生
{
私有字符串fname;
私有字符串名称;
私人字符串学生ID;
私人双gpa;
公立学生(String studentFname、String studentLname、String stuId、double studentGpa)
{
fname=学生fname;
lname=学生名称;
studentId=stuId;
gpa=学生gpa;
}
公共双getGpa()
{
返回gpa;
}
公共字符串getStudentId()
{
返回学生ID;
}
公共字符串getName()
{
返回lname+“,”+fname;
}
公共无效设置GPA(双GPA置换)
{
如果(gpaReplacement>=0.0&&gpaReplacement看看你的getName方法。你可以对toString使用相同的想法(实际上是getName本身)。你可能不知道的一件事是\n意味着换行。所以“foo\nbar”是foo,然后是换行,然后是bar。只要添加该方法即可
public String toString() {
// TODO: write code according requirements.
}
如果你的实际问题更多的是你不知道怎么做,那么你的问题应该更具体。例如,你不知道如何在字符串中插入换行符吗?好的,你可以使用\n
return String.format(
"Name: %s, %s\nID number: %d\nGPA: %f", fname, lname, studentId, gpa);
也就是说,System#exit()
调用非常剧烈。最终用户真的需要为一个简单的输入错误重新启动整个应用程序吗?实际上它是无论如何都会退出的。@Matthew:你怎么知道的?因为系统.exit
在条件之外。@Matthew:我讨厌无括号,否则
块。你应该向你的教授指出它是使用多行到字符串的错误做法
public String toString() {
String output = "Name: " + lname + ", " + fname + "\n" +
"ID number: " + studentId + "\n" +
"GPA: " + gpa + "\n";
return output;
}
public String toString() {
String output = "Name: " + lname + ", " + fname + "\n" +
"ID number: " + studentId + "\n" +
"GPA: " + gpa + "\n";
return output;
}
@Override
public String toString() {
return "Name: " + getName() + "\n" +
"ID Number: " + studentId + "\n" +
"GPA: " + gpa;
}