从零开始的java生活(刷题篇3)

选择题

1.

下列不属于面向对象编程的三个特征的是  

A.封装
B.指针操作
C.多态性
D.继承

答案:B

2.【单选题】

下面叙述中哪些是不正确的

A. 使用super可以在子类中调用父类被覆盖的方法               

B. Object类是所有类的根类 

C. 一个类可以同时实现多个接口 

D. 一个类可以同时继承多个类

答案:D

3.【单选题】

下列修饰符中与访问控制无关的是()。

A)private               B)public

C)protected                     D)final

答案:D

编程题

        1. 学生类继承

【问题描述】1.声明Student类,属性包括:学号,姓名,英语成绩,数学成绩和总成绩,方法包括:构造方法,get和set方法,toString方法(表示该同学成绩基本信息),sum方法(计算总成绩)以及testScore方法(计算评测成绩),其中可以取两门课程的平均分,任何一门课程成绩的改变都需要对总成绩重新计算,即每一个set方法都应该调用sum方法)。

2.声明StudentBW(班委)类,为Student类子类,在班委类中增加班委类型属性(属性值可以是,学委,文委等),然后重写testScore方法(计算评测成绩=课程平均分+3)。

3.声明StudentBZ(班长)类,为班委类子类,在班长类中增加责任属性,然后重写testScore方法(计算评测成绩=课程平均分+5)。

4.声明测试类,生成三个对象,分别属于上述三个类,调用相应方法计算每位同学的总成绩和评测成绩,并调用toString方法将各位学生信息打印出来。

【输入形式】学号 姓名 英语成绩 数学成绩

学号 姓名 英语成绩 数学成绩 班委类型

学号 姓名 英语成绩 数学成绩 班委类型 责任

【输出形式】姓名 英语 英语成绩 数学 数学成绩 评测分数 评测成绩

姓名 英语 英语成绩 数学 数学成绩 评测分数 评测成绩 班委 班委类型

姓名 英语 英语成绩 数学 数学成绩 评测分数 评测成绩 班委 班委类型值  职责 责任值

【样例输入】0001  zhangsan 80  90

0002 lisi 85  95 xuewei

0003 wangwu 90 70 banzhang fuwutongxue
【样例输出】zhangsan yingyu 80 shuxue 90 pingcefenshu 85 zongfenshu 170

lisi yingyu 85 shuxue 95 pingcefenshu 93 zongfenshu 180 banwei xuewei

wangwu yingyu 90 shuxue 70 pingcefenshu 85 zongfenshu 160 banwei banzhang zhize fuwutongxue

【样例说明】要按照相应顺序输出结果。
【评分标准】完全正确满分

代码如下:

import java.util.Scanner;

public class Homework_1 {
    public static void main(String[] args) {
        Student student1 = new Student();
        StudentBW student2 = new StudentBW();
        StudentBZ student3 = new StudentBZ();
        Scanner sc = new Scanner(System.in);
        //第一个学生信息
        student1.setID(sc.next()) ;
        student1.setName(sc.next());
        student1.setEnglish_grades(sc.nextInt());
        student1.setMath_grades(sc.nextInt());
        System.out.println(student1.toString());
        //第二个学生信息
        student2.setID(sc.next()) ;
        student2.setName(sc.next());
        student2.setEnglish_grades(sc.nextInt());
        student2.setMath_grades(sc.nextInt());
        student2.setCommittee(sc.next());
        System.out.println(student2.toString());
        //第三个学生信息
        student3.setID(sc.next()) ;
        student3.setName(sc.next());
        student3.setEnglish_grades(sc.nextInt());
        student3.setMath_grades(sc.nextInt());
        student3.setCommittee(sc.next());
        student3.setResponsibility(sc.next());
        System.out.println(student3.toString());

        sc.close();
    }



}
class Student{
    private String ID;//学号
    private String name;//姓名
    private int English_grades;//英语成绩
    private int Math_grades;//数学成绩
    private int totalScore;//

    public void setID(String ID) {
        this.ID = ID;
    }
    public String getID() {
        return ID;
    }

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

    public void setEnglish_grades(int English_grades) {
        this.English_grades = English_grades;
        sum();
    }
    public int getEnglish_grades() {
        return English_grades;
    }

    public void setMath_grades(int Math_grades) {
        this.Math_grades = Math_grades;
        sum();
    }
    public int getMath_grades() {
        return Math_grades;
    }

    public int getTotalScore() {
        return totalScore;
    }

    //评测分数为平均分数
    //评测成绩为总分数
    public String toString(){
        return getName()+" yingyu "+getEnglish_grades()+" shuxue "+getMath_grades()+" pingcefenshu "+testScore()+" zongfenshu "+getTotalScore();
    }
    public void sum(){
        this.totalScore = this.English_grades+this.Math_grades;
    }
    public int testScore(){
        return (English_grades+Math_grades)/2;
    }
}

class StudentBW extends Student{
    private String committee;//班委

    public void setCommittee(String committee) {
        this.committee = committee;
    }

    public String getCommittee() {
        return committee;
    }

    public int getTestScore(){
        return super.testScore();
    }

    public int testScore(){
        return getTestScore()+3;
    }

    public String toString(){
        return super.toString()+" banwei "+getCommittee();
    }

}

class StudentBZ extends StudentBW{
    private String responsibility;

    public void setResponsibility(String responsibility) {
        this.responsibility = responsibility;
    }

    public String getResponsibility() {
        return responsibility;
    }

    public int getTestScore(){
        return super.getTestScore();
    }
    public int testScore(){
        return getTestScore()+5;
    }
    public String toString(){
        return super.toString()+" zhize "+getResponsibility();
    }
}

接口编程题

        1. 计算手机话费

【问题描述】

定义一个接口PayAble,包含计算电话话费的方法pay()。定义电话类Phone,包含属性有通话时间time,话费单价price。电话类实现PayAble接口计算话费。话费计算方法:

电话类话费=通话时间*话费单价。

【输入形式】输入通话时长,话费单价

【输出形式】话费

【样例输入】120 0.6

【样例输出】Fee=72.0

【样例说明】

【评分标准】完全正确,满分

提供的PayAble接口如下:

public interface PayAble {
    public double pay();
}

代码如下:

import java.util.Scanner;


public class Homework_2
{
    public static void main(String[] args) {
        Phone phone = new Phone();
        Scanner sc = new Scanner(System.in);
        phone.time = sc.nextDouble();
        phone.price = sc.nextDouble();
        System.out.print("Fee="+phone.pay());

    }
}


class Phone implements PayAble {
     double time;
     double price;

    @Override
    public double pay() {
        return time*price;
    }
}

        2.显示Person子类教师类信息

【问题描述】

设计教师类Teacher ,继承类Person,显示教师姓名和工资。同时定义测试类Test如下:

public class Test{

public static void main(String [] args){

Teacher t = new Teacher("wang", 45, 5200);

t.display();

}

}

增加Teacher 类,运行Test类。

【输入形式】无

【输出形式】

Name=wang

Salary=5200.0

提供的Person类如下:

public class Person{
    private String name;
    private int age;

    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }

    public void display(){
        System.out.println("Name=" + name);
    }
}

代码如下:

public class Test{

    public static void main(String [] args){

        Teacher t = new Teacher("wang", 45, 5200);
        t.display();

    }

}

 class Teacher extends Person {

    private double salaries;
    public Teacher(String name,int age,double salaries){
        super(name,age);
        this.salaries = salaries;
    }
    public void display(){
        super.display();
        System.out.println("Salary="+salaries);

    }


}

博主java萌新,有问题可评论区共同交流学习,欢迎大家交流awa

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值