java练习

题目:根据学生成绩输出学生的评价等级(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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值