永发信息网

java编程求救

答案:1  悬赏:20  手机版
解决时间 2021-03-22 12:43
  • 提问者网友:欺烟
  • 2021-03-21 12:24
java编程求救
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-03-21 13:42
Student.java
package com.example.gradedemo;

// 学生类
public class Student {

// 学号
private String id;

private String name;

private int score;

public Student() {

}

public Student(String id, String name) {
this(id, name, 0);
}

public Student(String id, String name, int score) {
this.id = id;
this.name = name;
this.score = score;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}
}Grade.java
package com.example.gradedemo;

import java.util.ArrayList;
import java.util.List;


// 班级类
public class Grade {

private List students;

public Grade() {
this.students = new ArrayList();
}

// 添加学生
public void addStudent(Student student) {
this.students.add(student);
}

// 获取学生分数
public int getScore(String studentNo) {

for(Student item : this.students) {
if(item.getId() == studentNo) {
return item.getScore();
}
}

return 0;
}

// 获取平均分数
public int getAverageScore() {

int sum = 0;

for(Student item : this.students) {
sum += item.getScore();
}

return sum / this.students.size();

}

// 获取最高分数
public int getMaxScore() {

int score = Integer.MIN_VALUE;

for(Student item : this.students) {

if(item.getScore() > score) {
score = item.getScore();
}
}

return score;
}

// 获取最低分数
public int getMinScore() {

int score = Integer.MAX_VALUE;

for(Student item : this.students) {

if(item.getScore() < score) {
score = item.getScore();
}
}

return score;
}
}App.java

package com.example.gradedemo;

public class App {

public static void main(String[] args) {

Grade grade = new Grade();

grade.addStudent(new Student("1001", "Name1"));
grade.addStudent(new Student("1002", "Name2", 200));
grade.addStudent(new Student("1003", "Name3", 150));
grade.addStudent(new Student("1004", "Name4", 250));
grade.addStudent(new Student("1005", "Name5", 300));
grade.addStudent(new Student("1006", "Name6", 400));
grade.addStudent(new Student("1007", "Name7", 350));
grade.addStudent(new Student("1008", "Name8", 390));
grade.addStudent(new Student("1009", "Name9", 320));
grade.addStudent(new Student("10010", "Name10", 340));

System.out.println("学生1002的分数:" + grade.getScore("1001"));
System.out.println("平均分数:" + grade.getAverageScore());
System.out.println("最高分数:" + grade.getMaxScore());
System.out.println("最低分数:" + grade.getMinScore());
}
}追问为什么运行时学生类一部分会报错,显示“标记上具有语法错误,错误放置了构造”追答我这里是正常的,你那里哪句报错。

追问
追答看图片没什么错误,这就奇怪了
是不是复制了特殊的字符?
我把整个项目上传了,你看一下
GradeDemo

追问刚刚试了一下,一开始我是把这三个类放在同一个类文件中,然后把Student作为公共类,所以程序报错,作为新手不是特别懂其中的原因;现在把它们分开放在三个类中就运行成功了,有一些术语可能表达得不正确望见谅。如果可以的话我想请教一下其中的原因。追答一个类文件中,可以有多个类,但只能有一个 public类,并且这个类文件名必须和 public类的 类名是一样的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯