求JAVA大神来帮我做下这道题,急求!!! 题目如下:

定义一个班级类student_class,域1.系depart,String类型2.班级team,String类型,保存班级名称,例如“软件工程1001”3.学生memb... 定义一个班级类student_class,

1. 系depart, String类型
2. 班级team,String类型,保存班级名称,例如“软件工程1001”
3. 学生member,Collection<student>类,保存该班所有学生
构造函数. 初始化系depart,班级team两个域,初始化member成空Collection。
方法
1. 输入一个学生public void inputstudent(int i,String n)
2. 检索学生 public student searchstudent(int i)
3. 检索学生 public student searchstudent(String name)
4. 输出全班学生名单public void output_student()
5. 输入一个学生的成绩
public void input_score(int id,String subject,int score)
6. 显示几门课的成绩 public void display_scores(String[] subject)
7. 写main方法测试
展开
 我来答
月光雪松
推荐于2016-01-17 · TA获得超过476个赞
知道小有建树答主
回答量:338
采纳率:100%
帮助的人:226万
展开全部

确实挺复杂的,做了2个小时!

而且给的信息并不是很足,我自己添加了一个保存分数成绩的列表

希望楼主满意!

//MainTest .java

import java.util.Random;

public class MainTest {

public MainTest(){

String departname="计算机信息学院";

String className="软件工程1001";

//初始化班级

student_class aStuClass=new student_class(departname,className);

//10个学生的名字

String[] stuNames={"张山","李氏","网无","朝留","谈吧","赵平久","杨诗意","刘氏二","宋世山","向强"};

//添加10个学生

for(int i=0;i<stuNames.length;i++){

aStuClass.inputstudent(i, stuNames[i]);

}

//查找学号为5的学生

student idis5=aStuClass.searchstudent(5);

if(idis5==null){

System.out.println("没有学号为5的学生");

}else{

//把查到的这个学生信息输出来

System.out.println("学号为5的学生:");

idis5.showStudent();

}

//查找姓名为宋世山的学生

student nameSearch=aStuClass.searchstudent("宋世山");

if(nameSearch==null){

System.out.println("没有叫宋世山的学生");

}else{

//把查到的这个学生信息输出来

System.out.println("\n名字叫宋世山的学生:");

nameSearch.showStudent();

}

//全班学生的名单

System.out.println("\n"+aStuClass.getTeam()+"的学生名单:");

aStuClass.output_student();

//成绩录入  语文

String yuwen="语文";

Random ram=new Random();

for(int i=0;i<5;i++){

aStuClass.input_score(i, yuwen, 40+ram.nextInt(60));

}

//英语成绩录入

String english="英语";

for(int i=0;i<10;i++){

aStuClass.input_score(i, english, 50+ram.nextInt(50));

}

//马克思成绩录入

String make="马克思";

for(int i=0;i<10;i++){

aStuClass.input_score(i, make, 60+ram.nextInt(40));

}

//显示几门课的成绩

String[] subject={"马克思","英语","语文"};

aStuClass.display_scores(subject);

}

public static void main(String args[]){

new MainTest();

}

}

//student_class.java

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

public class student_class {

private String depart;

private String team;

private Collection<student> member;

//新增加的分数成绩属性

private ArrayList<SubScore> score;

public student_class(){}

public student_class(String pDepart,String pTeam,Collection<student> pMember){

this.depart=pDepart;

this.member=pMember;

this.team=pTeam;

score=new ArrayList<SubScore>();

}

public student_class(String pDepart,String pTeam){

this.depart=pDepart;

this.team=pTeam;

this.member=new ArrayList<student>();

score=new ArrayList<SubScore>();

}

//输入学生

public void inputstudent(int i,String n){

student aStudent=new student(i,n);

member.add(aStudent);

}

//按照ID检索学生

public student searchstudent(int i){

student result=null;

Iterator<student>  it  =  member.iterator();  //  获得一个迭代子   

while(it.hasNext())  {   

student  aStu  =  (student)it.next();  //  得到下一个元素   

if(aStu.getId() == i){

result=aStu;

break;

}

}   

return result;

}

//按照名字检索学生

public student searchstudent(String name){

if(name==null){

return null;

}

student result=null;

Iterator<student>  it  =  member.iterator();  //  获得一个迭代子   

while(it.hasNext())  {   

student  aStu  =  (student)it.next();  //  得到下一个元素   

if(aStu.getName().equals(name)){

result=aStu;

break;

}

}   

return result;

}

//输出全班学生

public void output_student(){

Iterator<student>  it  =  member.iterator();  //  获得一个迭代子   

while(it.hasNext())  {   

student  aStu  =  (student)it.next();  //  得到下一个元素   

System.out.println("学号:"+aStu.getId()+" 姓名:"+aStu.getName());

}   

}

public void input_score(int id,String subject,int score){

SubScore aScore=new SubScore(id,subject,score);

this.score.add(aScore);

}

public void display_scores(String[] subject){

for(int i=0;i<subject.length;i++){

displayScore(subject[i]);

}

}

protected void displayScore(String subject){

//输出该课程的所有成绩

System.out.println("\n"+subject+"成绩一览:");

for(int j=0;j<score.size();j++){

SubScore aScore=score.get(j);

if(aScore.getSubject().equals(subject)){

aScore.showScore();

}

}

}

public String getDepart() {

return depart;

}

public void setDepart(String depart) {

this.depart = depart;

}

public String getTeam() {

return team;

}

public void setTeam(String team) {

this.team = team;

}

public Collection<student> getMember() {

return member;

}

public void setMember(Collection<student> member) {

this.member = member;

}

}

class student{

private int id;

private String name;

public student(){

}

public student(int id,String name){

this.id=id;

this.name=name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public void showStudent(){

System.out.println("学号:"+id+" 姓名:"+name);

}

}

class SubScore{

private int id;

private String subject;

private int score;

public SubScore(){

}

public SubScore(int id,String subject,int score){

this.id=id;

this.subject=subject;

this.score=score;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getSubject() {

return subject;

}

public void setSubject(String subject) {

this.subject = subject;

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

public void showScore(){

System.out.println(" 学号:"+id+" 分数:"+score);

}

}

~~~~(>_<)~~~~ ,花了我两个小时啊!希望采纳哟

追问
有错误啊
追答
MainTest .java
student_class、class student、class SubScore这三个类是放在一个文件student_class.java里面的。把MainTest .java和student_class.java放在同一个包(package)下面就可以了,然后运行MainTest 里面的主方法就行。我测试过了,有结果输出来呀。
maweibinguo
2012-04-23
知道答主
回答量:16
采纳率:0%
帮助的人:7.6万
展开全部
你是为了做一个班级成绩系统,还是只是为了练习一下代码?随便写写?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
肖原001
2012-04-23 · 超过12用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:26.6万
展开全部
student 连name 属性都没有,还检索啥啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式