题目:根据学生成绩输出学生的评价等级(A、B、C)
描述:某学校开设3门课:语文、数学和英语(英语是副科),评价标准是平均分高于85分得A,60~85得B,小于60得C
要求:输入学生姓名,输出评价分。模拟几个学生成绩,写死在代码里即可,不需要用数据库。
例如 System.out.println(client.getStudentLevel("小明"));输出:小明的成绩是A
附加要求(选做):增加一个宽松的评价规则:主科平均分达到80分,同时副科平均达到60分即可得A,主科平均60~80得B(不考虑副科),其他分数是C。查询成绩时,可以指定评价规则(如以0和1表示)来得到对应的评价等级。
附加要求2(选做):考虑增加科目(主科或副科)后,代码的兼容性
package com.xxx.exam;
import java.util.Scanner;
import javax.swing.plaf.ComponentUI;
import java.util.ArrayList;
public class homework {
//输入psvm+tab
public static void main(String[] args) {
student s1 = new student("小明", 100, 40, 70);
student s2 = new student("张三", 80, 60, 98);
student s3 = new student("李华", 100, 20, 40);
ArrayList<student>StuList=new ArrayList<>();
StuList.add(s1);
StuList.add(s2);
StuList.add(s3);
Scanner IN=new Scanner(System.in);
System.out.println("请输入查询的名字:");
String inname=IN.nextLine();
System.out.println("请输入查询的成绩规则:0为默认,1为宽松");
int level=IN.nextInt();
getStudentLevel(StuList,inname,level);
}
public static void getStudentLevel(ArrayList<student> List,String name,int level) {
int len = List.size();
for (int i = 0; i < len; i++) {
if (name.equals(List.get(i).Name)) {
System.out.print(name + "的成绩是:");
if(level==1){
if (List.get(i).main_avg() >= 80 && List.get(i).sub_acg() >= 60)
System.out.println("A");
else if (List.get(i).main_avg() >= 60 && List.get(i).main_avg() < 80)
System.out.println("B");
else
System.out.println("C");
}else{
if(List.get(i).avg()>85)
System.out.println("A");
else if(List.get(i).avg()>=60&&List.get(i).avg()<=85)
System.out.println("B");
else
System.out.println("C");
}
}
if(i==len-1)
System.out.println("数据库中没有该同学信息,请重新输入");
}
}
}
class student{
String Name;
double Math;
double English;
double Chinese;
student(String name,double math,double english,double chinese){
this.Name=name;
this.Chinese=chinese;
this.English=english;
this.Math=math;
}
public double avg(){
return (Chinese+Math+English)/3;
}
public double main_avg(){
return (Chinese+Math)/2;
}
public double sub_acg(){
return English;
}
}