老师,我的对成绩取平均分不正确,请指导一下,按我的程序

老师,我的对成绩取平均分不正确,请指导一下,按我的程序

package com.imooc.zuoye4;

import java.util.InputMismatchException;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

/**
 * TestDemo类
 * 
 * 方法:
 * 
 * 班级的测试方法:public void testBanJi(){}
 * 
 * 学校的测试方法:public void testSchool(){}
 * 
 * 主菜单: public void mainMenu(){}
 * 
 * 学校管理菜单:public void schoolMenu(){}
 * 
 * 班级管理菜单:public void banJiMenu(){}
 * 
 * 主流程:public void test(){}
 * 
 * 
 * @author 14628
 *
 */
public class TestDemo {

	public void testStudent() {
		// Student类测试
		Student student0 = new Student("s001", "妮妮");
		Student student1 = new Student("s002", "天天");
		Student student2 = new Student("s003", "阳阳");
		Student student3 = new Student("s003", "阳阳");
		System.out.println(student0);
		System.out.println(student1);
		System.out.println(student2);
		// 测试0和2这两个对象是否相等
		System.out.println("student0==student2?" + student0.equals(student2));
		// 测试2和3这两个对象是否相等
		System.out.println("student2==student3?" + student2.equals(student3));
	}

	public void testBanJi() {
		// 定义几个Student类对象,添加到班级中
		Student student0 = new Student("s001", "妮妮");
		Student student1 = new Student("s002", "天天");
		Student student2 = new Student("s003", "阳阳");

		// 创建一个Banji对象
		Banji mainXueSheng = new Banji("主学生列表");
		mainXueSheng.addStudent(student0);
		mainXueSheng.addStudent(student1);
		mainXueSheng.addStudent(student2);
		// 显示学生信息
		mainXueSheng.displayAllStudent();
		// 通过学号查询学生信息
		Student student = mainXueSheng.searchStudentByNum("s001");
		if (student != null) {
			System.out.println("通过学号查询的学生信息为:");
			System.out.println(student);
		} else {
			System.out.println("该学生不存在!");
		}
		// 输入学生的语文成绩
		mainXueSheng.insertChineseScore("s001", 88);
		mainXueSheng.insertChineseScore("s002", 98);
		mainXueSheng.insertChineseScore("s003", 78);

		// 输出学生的语文成绩
		System.out.println("学生的语文成绩为:");
		List<Student> stuList = mainXueSheng.getStuList();
		for (Student stu : stuList) {
			System.out.println("学号:" + stu.getStuNum() + ",姓名:" + stu.getStuName() + ",语文成绩:" + stu.getChinese());
		}
		// 输入学生的数学成绩
		mainXueSheng.insertMathScore("s001", 77);
		mainXueSheng.insertMathScore("s002", 88);
		mainXueSheng.insertMathScore("s003", 99);
		// 输出学生的数学成绩
		System.out.println("学生的数学成绩为:");
		for (Student stu : stuList) {
			System.out.println("学号:" + stu.getStuNum() + ",姓名:" + stu.getStuName() + ",数学成绩:" + stu.getMath());
		}
		// 显示所有学生信息
		System.out.println("所有学生的信息:");
		mainXueSheng.displayAllStudent();
		System.out.println("11133" + mainXueSheng.getAverageChinese());
//	Scanner sc=new Scanner(System.in);
//	System.out.println("请输入xuehao:");
//	String stuNum1 = sc.next();
//	System.out.println("请输入一个语文成绩:");
//	 float yuwen = sc.nextFloat();
//	 System.out.println(yuwen);
//	 zhuXueSheng.insertChineseScore(stuNum1,yuwen );
//	 zhuXueSheng.displayAllStudent();
//	 

		// 删除学生信息
		System.out.println("删除前:");
		mainXueSheng.displayAllStudent();
		System.out.println("删除后:");
		mainXueSheng.deleteStudent("s001");
		mainXueSheng.displayAllStudent();
	}

	// 测试School类的方法
	public void testSchool() {
		Student student1 = new Student("s001", "nini");
		Student student2 = new Student("s002", "hini");
		Student student3 = new Student("s003", "gini");
		Student student4 = new Student("s004", "bini");
		Student student5 = new Student("s005", "gini");
		Student student6 = new Student("s006", "fini");
		Student student7 = new Student("s007", "eini");
		Student student8 = new Student("s008", "wini");
		Student student9 = new Student("s009", "sini");
		Banji banji = new Banji("yiban");
		Banji banji2 = new Banji("erban");
		Banji banji3 = new Banji("sanban");
		banji.addStudent(student1);
		banji.addStudent(student2);
		banji.addStudent(student3);
		banji2.addStudent(student4);
		banji2.addStudent(student5);
		banji2.addStudent(student6);
		banji3.addStudent(student7);
		banji3.addStudent(student8);
		banji3.addStudent(student9);
		banji.insertChineseScore("s001", 88);
		banji.insertChineseScore("s002", 98);
		banji.insertChineseScore("s003", 78);
		banji2.insertChineseScore("s004", 77);
		banji2.insertChineseScore("s005", 78);
		banji2.insertChineseScore("s006", 70);
		banji3.insertChineseScore("s007", 74);
		banji3.insertChineseScore("s008", 76);
		banji3.insertChineseScore("s009", 72);
		banji.insertMathScore("s001", 89);
		banji.insertMathScore("s002", 100);
		banji.insertMathScore("s003", 99);
		banji2.insertMathScore("s004", 45);
		banji2.insertMathScore("s005", 78);
		banji2.insertMathScore("s006", 87);
		banji3.insertMathScore("s007", 46);
		banji3.insertMathScore("s008", 67);
		banji3.insertMathScore("s009", 87);
		School school = new School();
		school.addBanji(banji);
		school.addBanji(banji2);
		school.addBanji(banji3);
		System.out.println("各班的语文成绩平均值:");
		school.sortChineseByAverage();
		System.out.println("各班的数学成绩平均值:");
		school.sortMathByAverage();

	}

	// 主菜单
	public void mainMenu() {
		System.out.println("************************************");
		System.out.println("           **主菜单**             ");
		System.out.println("           1-班级管理                        ");
		System.out.println("           2-学校管理                        ");
		System.out.println("           0-退出  ");
		System.out.println("************************************");
	}

	// 学校菜单
	public void schoolMenu() {
		System.out.println("***********************************************************");
		System.out.println("          **学校管理**                         ");
		System.out.println("          1-创建班级");
		System.out.println("          2-删除班级");
		System.out.println("          3-通过班级名称查询班级信息");
		System.out.println("          4-对各班语文成绩按平均分进行由大到小排序");
		System.out.println("          5-对各班数学成绩按平均分进行由大到小排序");
		System.out.println("          6-显示所有班级名称");
		System.out.println("          9-返回上一级菜单");
		System.out.println("***********************************************************");
	}

	// 班级菜单
	public void classMenu() {
		System.out.println("***********************************************************");
		System.out.println("          **班级管理**                         ");
		System.out.println("          1- 添加学生信息到主学生列表");
		System.out.println("          2-添加学生信息到普通班级");
		System.out.println("          3-通过学号查询学生信息");
		System.out.println("          4- 输入班级的语文成绩");
		System.out.println("          5- 输入班级的数学成绩");
		System.out.println("          6- 删除学生信息");
		System.out.println("          7-显示所有学生信息");
		System.out.println("          9-返回上一级菜单");
		System.out.println("***********************************************************");
	}

	// 测试
	public void test() {
		TestDemo td = new TestDemo();
		Scanner sc = new Scanner(System.in);
		int input1 = 0, input2 = 0, input3 = 0;
		// 创建一个学校
		School school = new School();
		// 创建一个班级主学生列表
		Banji mainBanJi = new Banji("主学生列表");
		// 把学生添加到班级中
		school.addBanji(mainBanJi);
		Banji banJi1=null;
		while (true) {
			td.mainMenu();
			System.out.println("请输入对应数字进行操作!");
			try {
				input1 = sc.nextInt();
			} catch (InputMismatchException e) {
				System.out.println("输入的格式有误,请从新输入");
				sc.next();
			}
			
			if (input1 == 0) {
				break;
			}
			switch (input1) {
			case 1:
				// 班级操作,班级管理
				while (true) {
					td.classMenu();
					System.out.println("请输入对应数字操作!");
					try {
						input2 = sc.nextInt();
					} catch (InputMismatchException e) {
						System.out.println("输入的格式有误,请从新输入");
						sc.next();
					}
					
					if (input2 == 9) {
						break;
					}
					switch (input2) {
					case 1:
						System.out.println("添加学生信息到主学生列表");
						System.out.println("请输入要添加学生的数量:");
						int cuont=0;
						try {
							cuont = sc.nextInt();
						} catch (InputMismatchException e) {
							System.out.println("输入的格式有误,请从新输入");
							sc.next();
							continue;
						}
						
						for(int i=1;i<=cuont;i++) {
							System.out.println("请输入添加学生的信息");
							System.out.println("请输入添加第"+i+"个学生的学号");
							String strStuNum=sc.next();
							System.out.println("请输入要添加第"+i+"个学生的姓名:");
							String strStuName=sc.next();
							//创建学生对象
							Student student=new Student(strStuNum,strStuName);
							//把学生添加到主学生列表中
							mainBanJi.addStudent(student);
						}
						mainBanJi.displayAllStudent();
						break;
					case 2:
						System.out.println("添加学生信息到普通班级");
						System.out.println("请输入要添加的班级名称:");
						String sName=sc.next();
						//根据名称判断班级是否在学生中存在
						banJi1=school.searchByName(sName);
						if(banJi1==null) {
							System.out.println("该班级不存在,请先将班级添加到学校中");
						}else{
							System.out.println("请输入要添加的学生数量:");
							int count1=0;
							try {
								count1 = sc.nextInt();
							} catch (InputMismatchException e) {
								System.out.println("输入的格式有误,请从新输入");
								sc.next();
							}
							
							for(int i=1;i<=count1;i++) {
								System.out.println("请输入第"+i+"个学生");
								System.out.println("请输入学生学号:");
								String strStuNum=sc.next();
								//首先判断该学号的学生是否在主学生列表存在
								Student student=mainBanJi.searchStudentByNum(strStuNum);
								if(student==null) {
									System.out.println("该学生不存在主学生列表中,请输入学生姓名:");
									String strStuName=sc.next();
									//创建学生类对象
									student=new Student(strStuNum,strStuName);
									//把学生添加到普通列表
									banJi1.addStudent(student);
									//然后再把学生添加到主学生列表
									mainBanJi.addStudent(student);
								}else {
									//如果不为空,直接将学生添加到现在的列表中
									banJi1.addStudent(student);
								}
							}
							//显示学生列表中的学生信息
							System.out.println("主学生列表:");
							mainBanJi.displayAllStudent();
							System.out.println("添加到学生列表");
							banJi1.displayAllStudent();
						}
						break;
					case 3:
						System.out.println("通过学号查询学生信息");
						System.out.println("请输入要查询的班级名称");
						String strClassName=sc.next();
						//把查询到的班级赋给banJi2
						Banji banJi2=school.searchByName(strClassName);
						if(banJi2==null) {
							System.out.println("输入的班级不存在!");break;
						}else {
							System.out.println("请输入要查询学生信息的学号:");
							String strStuNum=sc.next();
							//查询班级里是否存在该学生
							Student s=banJi2.searchStudentByNum(strStuNum);
							if(s==null) {
								System.out.println("该学生学生列表不存在!");
							}else {
								System.out.println("查询的学生信息为:");
								System.out.println(s);
							}
						}
						break;
					case 4:
						System.out.println("输入班级的语文成绩");
						List<Student> stuList=mainBanJi.getStuList();
						for(Student stu:stuList) {
							System.out.println("请输入语文成绩学生的学号:");
							String strStuNum=sc.next();
							System.out.println("输入学号为"+strStuNum+"的语文成绩:");
							float flChinese=sc.nextFloat();
							System.out.println("学号:"+stu.getStuNum()+",姓名:"+stu.getStuName()+",语文成绩:"+flChinese);
						}
						//显示所有的学生信息
						mainBanJi.displayAllStudent();
						
						break;
					case 5:
						System.out.println("输入班级的数学成绩");
						int count=0;
						System.out.println("请输入添加的学生个数");
						count=sc.nextInt();
						for(int i=1;i<=count;i++) {
						System.out.println("请输入学生学号:");
						String strStuNum=sc.next();
						System.out.println("请输入学号为"+strStuNum+"的数学成绩:");
						float fl=sc.nextFloat();
						mainBanJi.insertMathScore(strStuNum, fl);
						
						}
						mainBanJi.displayAllStudent();
//						List<Student> stuList2=mainBanJi.getStuList();
//						for(Student stu:stuList2) {
//							System.out.println("请输入数学成绩学生的学号:");
//							String strStuNum=sc.next();
//							System.out.println("请输入学号为"+strStuNum+"的数学成绩:");
//							float flMath=sc.nextFloat();
//							System.out.println("学号:"+stu.getStuNum()+",姓名:"+stu.getStuName()+",数学成绩:"+flMath);
//						}
						
						break;
					case 6:
						System.out.println("删除学生信息");
						System.out.println("输入要查询的班级:");
						String strBanJi6=sc.next();
						//查询班级是否存在
						Banji bj6=school.searchByName(strBanJi6);
						if(bj6==null) {
							System.out.println("没有该班级!");break;
						}else {
							System.out.println("请输入要删除的学生名称:");
							String strName=sc.next();
							bj6.deleteStudent(strName);
						}
						break;
					case 7:
						System.out.println("显示所有学生信息");
						mainBanJi.displayAllStudent();
						break;
					default:
						System.out.println("没有对应的数字操作!");
						break;
					}

				}
			case 2:
				// 学校操作,学校管理
				while (true) {
					td.schoolMenu();
					System.out.println("请输入对应的数字操作!");
					try {
						input3 = sc.nextInt();
					} catch (InputMismatchException e) {
						System.out.println("输入的格式有误,请从新输入");
						sc.next();
					}
					
					if (input3 == 9) {
						break;
					}
					switch (input3) {
					case 1:
						System.out.println("创建班级");
						System.out.println("请输入要添加的班级名称:");
						String banJiName=sc.next();
						//创建一个新的班级对象
						banJi1=new Banji(banJiName);
						//将班级添加到学校中
						school.addBanji(banJi1);
						
						break;
					case 2:
						System.out.println("删除班级");
						System.out.println("请输入要删除的班级:");
						String strName=sc.next();
						if(strName.equals("主学生列表")) {
							System.out.println("主学生列表不能删除!");
						}
						//查询班级是否存在
						Banji banji2=school.searchByName(strName);
						if(banji2==null) {
							System.out.println("该班级不存在!");
						}else {
							school.deleteBanji(banji2);
						}
						break;
					case 3:
						System.out.println("通过班级名称查询班级信息");
						System.out.println("请输入要查询的班级名称:");
						String strName3=sc.next();
						Banji bj=school.searchByName(strName3);
						if(bj==null) {
							System.out.println("该班级不存在!");
						}else {
							System.out.println("该班级存在");
							System.out.println("该班级名称为:"+strName3);
							System.out.println("学校所有班级:");
						school.displayBanJiName();
						}
						break;
					case 4:
						System.out.println("对各班语文成绩按平均分进行由大到小排序");
						school.sortChineseByAverage();
						break;
					case 5:
						System.out.println("对各班数学成绩按平均分进行由大到小排序");
						school.sortMathByAverage();
						break;
					case 6:
						System.out.println("显示所有班级名称");
						school.displayBanJiName();
						break;
					default:
						System.out.println("没有对应的数字操作!");
						break;
					}
				}
			}
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TestDemo td = new TestDemo();
//		td.testStudent();
		// td.testBanJi();
//       td.testSchool();
		td.test();
	}

}
package com.imooc.zuoye4;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/***
 *   属性:存放班级的集合(schoolMap) ,类型为Map

            方法: 构造方法

                        getter和setter方法

                        添加班级:public void addBanji(Banji banji){}

                        删除班级 : public void deleteBanji(Banji banji){}

                        通过班级名称查询班级:public BanJi searchByName(String className) {}

                        对各班语文成绩按平均分进行由大到小排序:public void sortChineseByAverage() {}

                        对各班数学成绩按平均分进行由大到小排序:public void sortMathByAverage() {}

                        显示所有班级名称:public void displayBanJiName() {}
 * @author 14628
 *
 */
public class School {

	//存放班级的集合
	Map<String,Banji> schoolMap;

	public School() {
		schoolMap=new HashMap<String,Banji>();
	}

	public Map<String, Banji> getSchoolMap() {
		return schoolMap;
	}

	public void setSchoolMap(Map<String, Banji> schoolMap) {
		this.schoolMap = schoolMap;
	}
	/**
	 * 添加班级
	 * @param banji 要添加的班级
	 */
	public void addBanji(Banji banji){
		//将班级名称作为KEY值
		schoolMap.put(banji.getClassName(), banji);
	}
	/**
	 * 删除班级
	 * @param banji 要删除的班级
	 */
	public void deleteBanji(Banji banji){
		schoolMap.remove(banji.getClassName());
		System.out.println("删除成功!");
	}
	/**
	 * 通过班级名称查询班级
	 * @param className 班级名
	 * @return
	 */
	public Banji searchByName(String className) {
		Banji banJi=null;
		Set<String> banJiSet=schoolMap.keySet();
		for(String s:banJiSet) {
			if(s.equals(className)) {
				banJi=schoolMap.get(s);break;
		
			}
			
		}
		return banJi;
		
	}
	/**
	 * 对各班语文成绩按平均分进行由大到小排序
	 */
	public void sortChineseByAverage() {
		List<HashMap.Entry<String,Banji>> list=new ArrayList();
		
		for(Map.Entry<String,Banji> entry:schoolMap.entrySet()) {
			list.add(entry);
			
			//System.out.println(entry.getKey()+"语文平均成绩为:"+entry.getValue().getAverageChinese());
		}
		Collections.sort(list,new Comparator<HashMap.Entry<String,Banji>>() {
			public int compare(HashMap.Entry<String,Banji> o1,HashMap.Entry<String,Banji> o2) {
				return (int)o2.getValue().getAverageChinese()-(int)o1.getValue().getAverageChinese();
			}
		});
		for(HashMap.Entry<String,Banji> sss:list) {
			System.out.println(sss.getKey());
			System.out.println(sss.getValue().getAverageChinese());
		}
		
//        Collections.sort(list, new Comparator<HashMap.Entry<String, Integer>>() {
//            public int compare(HashMap.Entry<String, Integer> o1, HashMap.Entry<String, Integer> o2) {
//                return o2.getValue() - o1.getValue(); //这里是从大到小进行排序,如果需从小到大进行排序则将o1和o2互换即可
//            }
//        });
		
		
	}
	/**
	 * 对各班数学成绩按平均分进行由大到小排序
	 */
	public void sortMathByAverage() {
		List<HashMap.Entry<String,Banji>> list2=new ArrayList();
		for(Map.Entry<String,Banji> entry:schoolMap.entrySet()) {
	list2.add(entry);
		}
		Collections.sort(list2,new Comparator<HashMap.Entry<String,Banji>>(){
			public int compare(HashMap.Entry<String,Banji> o1,HashMap.Entry<String,Banji> o2) {
				return (int)o2.getValue().getAverageMath()-(int)o1.getValue().getAverageMath();
			}
		});
		for(HashMap.Entry<String,Banji> entry:list2) {

			System.out.println(entry.getKey()+"\n"+entry.getValue().getAverageMath());
		}
	}
		
	
	/**
	 *  显示所有班级名称
	 */
	public void displayBanJiName() {
		//取出key值
		Set<String> schoolSet=schoolMap.keySet();
		System.out.println("所有班级信息为:");
		for(String s:schoolSet) {
			if(s.equals("主学生列表"))continue;
			System.out.println(s);
		}
	}
	
}
package com.imooc.zuoye4;
/**
 * 
 * 属性: 学号(stuNum)、姓名(stuName) 这两个属性为String类型

                    数学成绩(math)、语文成绩(chinese) 这两个属性为float类型

        方法:  构造方法

                    setter和getter方法

                    hashCode()和equals()方法

                    toString()方法
 * @author 14628
 *
 */
public class Student {

	private String stuNum;
	private String stuName;
	private float math;
	private float chinese;
	public Student() {
		
	}
	public Student(String stuNum, String stuName) {
		super();
		this.stuNum = stuNum;
		this.stuName = stuName;
		
	}
	public String getStuNum() {
		return stuNum;
	}
	public void setStuNum(String stuNum) {
		this.stuNum = stuNum;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public float getMath() {
		return math;
	}
	public void setMath(float math) {
		this.math = math;
	}
	public float getChinese() {
		return chinese;
	}
	public void setChinese(float chinese) {
		this.chinese = chinese;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + Float.floatToIntBits(chinese);
		result = prime * result + Float.floatToIntBits(math);
		result = prime * result + ((stuName == null) ? 0 : stuName.hashCode());
		result = prime * result + ((stuNum == null) ? 0 : stuNum.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		//判断对象是否相等,如果相等则返回true,就不用继续比较属性了
		if(this==obj) {
			return true;
		}
		//判断obj是否是Student类的对象
		if(obj.getClass()==Student.class) {
			Student student=(Student)obj;
			return student.getStuNum().equals(stuNum)&&student.getStuName().equals(stuName)&&
					student.getMath()==this.math&&student.getChinese()==this.chinese;
		}
		return false;
	}
	@Override
	public String toString() {
		return "学生信息为:学号:" + stuNum + ",姓名:" + stuName ;
	}
	
}
package com.imooc.zuoye4;


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

/**
 * Banji类:

          属性:班级编号(classId)、班级名称(className)  这两个属性均为String类型

                    存放学生的集合(stuList) 这个属性为List类型

          方法:构造方法

                    getter和setter方法

                    将学生添加到班级:public void addStudent(Student stu){}

                    通过学号查询学生在班级中是否存在: public Student searchStudentByNum(String stuNum){}

                    输入班级学生的语文成绩:public void insertChineseScore(String stuNum,float score){}

                    输入班级学生的数学成绩:public void insertMathScore(String stuNum,float score){}

                    删除学习信息:public void deleteStudent(String stuNum){}

                    显示所有学生的信息(包括学号和姓名):public void displayAllStudent(){}
 * @author 14628
 *
 */
public class Banji {

	private String classId;
	private String className;
	private List<Student> stuList;
	public Banji( String className) {
		super();
		this.className = className;
		stuList=new ArrayList<Student>();
	}

	public String getClassId() {
		return classId;
	}
	public void setClassId(String classId) {
		this.classId = classId;
	}
	public String getClassName() {
		return className;
	}
	public void setClassName(String className) {
		this.className = className;
	}
	public List<Student> getStuList() {
		return stuList;
	}
	public void setStuList(List<Student> stuList) {
		this.stuList = stuList;
	}
	/**
	 *  将学生添加到班级
	 * @param stu 添加的学生
	 */
	public void addStudent(Student stu){
		//要排除重复添加的情况
		boolean flag=false;//判断班级中的学生是否存在
		
		for(Student student:stuList) {
			if(student.equals(stu)) {
				System.out.println("该学生");
				flag=true;
			
			}
		}
			if(flag) {
				System.out.println("该学生已经在此班级中存在!添加失败");
			}
			else {
				stuList.add(stu);
			}
			
	}
	/**
	 * 通过学号查询学生在班级中是否存在
	 * @param stuNum 要查询的学生学号
	 * @return
	 */
	 public Student searchStudentByNum(String stuNum){
		 Student student=null;
		 //学号是唯一的
		 for(Student student1:stuList) {
			 if(student1.getStuNum().equals(stuNum)) {
				 student=student1;
				 break;
			 }
		 }
		 return student;
	 }
	 /**
	  * 
        输入班级学生的语文成绩
	  * @param stuNum 学生学号
	  * @param score 学生的语文成绩
	  */
	 public void insertChineseScore(String stuNum,float score){
		 //通过学号查询学生信息
		 Student student1=searchStudentByNum(stuNum);
		 if(student1!=null) {
			 //该学生不为空时,表示学生存在
			 System.out.println("添加学号为:"+stuNum+"的语文成绩为:"+score);
			 
			 student1.setChinese(score);
		 }else {
			 System.out.println("没有该学生信息!");
		 }
	 }
	 /**
	  * 输入班级学生的数学成绩
	  * @param stuNum 学生学号
	  * @param score 学生的数学成绩
	  */
	 public void insertMathScore(String stuNum,float score){
		 Scanner sc=new Scanner(System.in);
		 //通过学号查询学生信息
		 Student student2=searchStudentByNum(stuNum);
		 if(student2!=null) {
			 //该学生不为空时,输入数学成绩
			 System.out.println("添加学号为:"+stuNum+"的数学成绩为:"+score);
			student2.setMath(score);
			
		 }else {
			 System.out.println("该学生信息不存在!");
		 }
	 }
	 /**
	  *   删除学习信息
	  * @param stuNum 学生学号
	  */
	 public void deleteStudent(String stuNum){
		 Student student=searchStudentByNum(stuNum);
		 if(student!=null) {
			 stuList.remove(student);
		 }else {
			 System.out.println("没有找到学号为"+stuNum+"的学生信息!");
		 }
	 }
	 /**
	  * 取该班的语文平均分
	  */
	 public float getAverageChinese() {
		 int zongR=0;
		 float zongF=0;
		 for(Student s:stuList) {
			 float a=s.getChinese();
			 zongF+=a;
			 
		 }
		 return zongF/stuList.size();
	 }
	 /**
	  * 取该班的数学平均分
	  */
	 public float getAverageMath() {
		 float zongF=0;
		 int zongR=0;
		 for(Student s:stuList) {
			 float a=s.getMath();
			 zongF+=a;
		 }
		 return zongF/stuList.size();
	 }
	 /**
	  * 显示所有学生的信息(包括学号和姓名)
	  */
	 public void displayAllStudent(){
		 System.out.println("该班级所有学生信息:");
		 for(Student stu:stuList) {
			 System.out.println(stu);
		 }
		
	 }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小脸 2020-02-21 10:03:44

同学你好,同学要测试是哪一部分?如果是按照老师的思路重新添加了语文成绩后进行平均分排序有误,同学可参考如下思路:

http://img1.sycdn.imooc.com/climg/5e4f3a20098c5df609880898.jpg如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小脸 2020-02-20 19:15:43

同学你好,同学是指“求语文成绩平均成绩不正确”吗?

如果是,原因是因为同学并没有对语文成绩进行添加。具体修改如下:

http://img1.sycdn.imooc.com//climg/5e4e695909becf3e07940319.jpg

同学在添加成绩的思路是错误,应该是输出班级名,循环班级中学生输入成绩进行添加,具体思路如下:

a)     需要先输入班级名称,判断班级是否存在。

b)    班级存在则提示:输入学号为xx(或者姓名为xx)的学生成绩。注意这里不需要输入学生编号,学生姓名再输入成绩,而是循环遍历该班级中的学生,直接提示添加xx的成绩。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 阿硕A #1
    老师,是对语文成绩的平均分数排序问题
    2020-02-20 19:26:48
  • 好帮手慕小脸 回复 提问者 阿硕A #2
    同学你好,在同学的代码中并没有对语文成绩进行添加,所以排序并不会正确展示,其次,老师对回答做了修改,同学可参考老师提供的思路来进行成绩添加。 祝学习愉快~
    2020-02-20 19:30:44
  • 提问者 阿硕A #3
    老师,我的代码在测试类里怎么测试呢,我的对平均分排序问题和老师的不一样
    2020-02-20 19:44:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师