高分求解, Java 作业题,各位高手能否帮忙看一下?

这是我的部分作业, 各位高手能否花几分钟帮帮忙, 感激不尽!
Java,用 Eclipse软件:

在国外的大学,学生想要过科,必须通过几个作业的学分和期末考试的学分。

此课程名称叫Programming2 (编程2)。

要求建立以下的类别:
Programming2Student —— 代表Programming 2 的学生;

学生信息内容包括:
学生的姓氏,名字,
学生的作业1,作业2,作业3,期末考试的分数;

评分标准:
作业1: 0-10分;
作业2: 0 -20分;
作业3: 0-20分;
期末考试: 0-50分;
总分:以上四项的总和,0-100分。

如果要通过考试,学生的各项成绩必须在以下范围:
(作业2的分数 + 作业3的分数)>=20 ,并且 (作业1的分数 + 期末考试的分数) >=30 ;

学生成绩的评分有下列五个等级:
F 级 —— 如果总分少于40分;
MF级 —— 如果(40 <= 总分 < 50)或者(总分 >= 50 却没有通过);
P级 —— 如果(50 <= 总分 < 60)并且通过;
C级 —— 如果(60 <= 总分 < 70) 并且通过;
D级 —— 如果(70 <= 总分 < 80)并且通过;
HD —— 如果总分 >= 80;
要求一:
第一个构造函数:建立一个“default”的对象:学生自己,并且设置所有的分数为0;
第二个构造函数:建立一个对象,命名姓氏和名字(任意),并且设置所有的分数为0;
第三个构造函数:建立一个对象,命名姓氏,名字,和分数(任意)。

要求二:
函数getGrade() 返回相应的学生成绩等级(F, MF, P, C, D, HD)。

要求三:
“set”函数能让作业分规定在制定范围之内;例如:期末考试分数在 0-50分之间,就可以用set ExamMark 语句。

要求四:
如果学生通过该门课程,函数 passed() 返回“true”;如果没通过,则返回“false”。
函数 toString()返回 Programming 2 的学生的详细信息,举例如下:

Han Meimei :
Assignment 1 0
Assignment 2 8
Assignment 3 16
Exam 34
等级 P

要求五:
请使用以下表达式:

Programming2Student
private String surname (学生姓氏)
private String firstName (学生名字)
private int assignment1Mark; (作业1的分数)
private int assignment2Mark; (作业2的分数)
private int assignment3Mark; (作业3的分数)
private int examMark; (期末考试的分数)
public Programming2Student() public Programming2Student(String name, String surname)public Programming2Student(String name,String surname,int a1, int a2, int a3, int exam)public boolean passed()public String getGrade()public String toString( )
public main()
最新回答
干凈没朋友

2024-07-10 03:19:04

public class Programming2Student {
private String surname;// (学生姓氏)
private String firstName;// (学生名字)
private int assignment1Mark; // (作业1的分数)
private int assignment2Mark; // (作业2的分数)
private int assignment3Mark; // (作业3的分数)
private int examMark; // (期末考试的分数)

public Programming2Student(){
assignment1Mark = 0;
assignment2Mark = 0;
assignment3Mark = 0;
}

public Programming2Student(String name, String surname) {
this();
this.firstName = name;
this.surname = surname;
}

public Programming2Student(String name, String surname, int a1, int a2,int a3, int exam) {
this(name, surname);
this.assignment1Mark = a1;
this.assignment2Mark = a2;
this.assignment3Mark = a3;
this.examMark = exam;
}

public boolean passed() {
return ((assignment2Mark + assignment3Mark) >= 20) && ((assignment1Mark + examMark) >= 30);
}

public String getGrade() {
boolean isPassed = passed();

int sum = assignment1Mark + assignment2Mark + assignment3Mark + examMark;

if(sum < 40){
return "F";
}else if(sum < 50 || (sum >= 50 && !isPassed)){
return "MF";
}else if(isPassed && sum >= 50 && sum < 60){
return "P";
}else if(isPassed && sum >= 60 && sum < 70){
return "C";
}else if(isPassed && sum >= 70 && sum < 80){
return "D";
}else {
return "HD";
}
}

public String toString() {
final String NEW_LINE = "\n";

StringBuilder sb = new StringBuilder();
sb.append(surname).append(" ").append(firstName).append(NEW_LINE);
sb.append("\tAssignment1").append("\t").append(assignment1Mark).append(NEW_LINE);
sb.append("\tAssignment2").append("\t").append(assignment2Mark).append(NEW_LINE);
sb.append("\tAssignment3").append("\t").append(assignment3Mark).append(NEW_LINE);
sb.append("\tExam").append("\t").append(examMark).append(NEW_LINE);
sb.append("\t等级").append("\t").append(getGrade());

return sb.toString();
}

public static void main(String[] args) {
Programming2Student hanMeimei = new Programming2Student("Meimei", "Han", 0, 8, 16, 34);
System.out.println(hanMeimei.toString());
}

//成绩范围,min譬如你期末为0,max期末最大为50
public void set(int grade, int min, int max) throws Exception{
if(grade < min || grade > max){
throw new Exception("Grade can't be set because it's out of the range");
}
}

public void setAssignment1Mark(int assignment1Mark) {

try {
set(assignment1Mark, 0, 50);
} catch (Exception e) {
return ;
}

this.assignment1Mark = assignment1Mark;
}

public void setAssignment2Mark(int assignment2Mark) {
try {
set(assignment2Mark, 0, 50);
} catch (Exception e) {
return ;
}
this.assignment2Mark = assignment2Mark;
}

public void setAssignment3Mark(int assignment3Mark) {
try {
set(assignment3Mark, 0, 50);
} catch (Exception e) {
return ;
}

this.assignment3Mark = assignment3Mark;
}

public void setExamMark(int examMark) {
try {
set(examMark, 0, 50);
} catch (Exception e) {
return ;
}
this.examMark = examMark;
}

}

-----------很简单的基础,要好好学习啊,测试结果---
Han Meimei
Assignment1 0
Assignment2 8
Assignment3 16
Exam 34
等级 P
呸狗屁的爱情っ

2024-07-10 01:57:27

我去,这。。。