那些年,我们一起做过的 Java 课后练习题(51 - 55)

简介: 那些年,我们一起做过的 Java 课后练习题(51 - 55)

实例 51

题目

定义一个圆柱体类 Cylinder,创建相应的对象,然后计算圆柱体的底面积和体积。

分析

考察如何定义一个类,以及如何在类中定义成员变量与方法,最后则是如何创建一个对象并调用方法。

实现

import java.util.Random;
import java.util.Scanner;
/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @Project : Java 编程实例
 * @Package : PACKAGE_NAME
 * @ClassName : Example51.java
 * @createTime : 2021/6/25 23:19
 * @Email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @Website : https://cunyu1943.github.io
 * @Description :
 */
public class Example51 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入圆柱体半径");
        float radius = scanner.nextFloat();
        System.out.println("输入圆柱体高");
        float height = scanner.nextFloat();
        Cylinder cylinder = new Cylinder();
        System.out.println("底面积:" + cylinder.area(radius));
        System.out.println("体积:" + cylinder.volume(radius, height));
    }
}
class Cylinder {
    final double PI = 3.14;
    // 半径
    float radius;
    // 高
    float height;
    /**
     * 求圆柱体的底面积
     *
     * @param radius 半径
     * @return 圆柱体底面积
     */
    public double area(float radius) {
        return PI * radius * radius;
    }
    /**
     * 求圆柱体体积
     *
     * @param radius 半径
     * @param height 高度
     * @return 圆柱体体积
     */
    public double volume(float radius, float height) {
        return height * area(radius);
    }
}

结果

image.png实例 52

题目

创建一个图书类,类中包含的属性有:书名、作者、出版社、书籍状态;包含的方法有:构造方法,设置书籍状态,查看书籍状态(书籍状态指 在馆 和 外借)。


分析

考察如何设计一个类,此外还包括如何定义类中成员变量、方法、构造方法等知识点。最后则是如何定义一个对象并调用方法。


实现


/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @Project : Java 编程实例
 * @Package : PACKAGE_NAME
 * @ClassName : Example52
 * @createTime : 2021/6/25 23:42
 * @Email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @Website : https://cunyu1943.github.io
 * @Description :
 */
public class Example52 {
    public static void main(String[] args) {
        Book book = new Book("《Java 从入门到放弃》", "村雨遥", "胡编乱造出版社");
        book.setBorrow(true);
        System.out.println(book.getName() + " 的状态是:" + book.isBorrow());
    }
}
class Book {
    private String name;
    private String author;
    private String press;
    private boolean borrow;
    public Book() {
    }
    public Book(String name, String author, String press) {
        this.name = name;
        this.author = author;
        this.press = press;
    }
    public String isBorrow() {
        return borrow ? "外借" : "在馆";
    }
    public void setBorrow(boolean borrow) {
        this.borrow = borrow;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

image.png实例 53

题目

设计一个 Birthday 类,其成员变量有:year、month、day。提供构造方法、输出 Birthday 对象值的方法和计算年龄的方法。


分析

除开类的设计之外,还涉及如何重写方法,以及如何调用 Java 中内置的 Calendar,用于求当前时间的年份。


实现


import java.util.Calendar;
import java.util.Scanner;
/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @Project : Java 编程实例
 * @Package : PACKAGE_NAME
 * @ClassName : Example53
 * @createTime : 2021/6/26 0:00
 * @Email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @Website : https://cunyu1943.github.io
 * @Description :
 */
public class Example53 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入生日年份");
        int year = scanner.nextInt();
        System.out.println("输入生日月份");
        int month = scanner.nextInt();
        System.out.println("输入生日日期");
        int day = scanner.nextInt();
        Birthday birthday = new Birthday(year, month, day);
        System.out.println("生日是:" + birthday.toString());
        System.out.println("年龄是:" + birthday.getAge(year));
    }
}
class Birthday {
    int year;
    int month;
    int day;
    public Birthday() {
    }
    public Birthday(int year, int month, int day) {
        this.year = year;
        this.month = month;
        this.day = day;
    }
    @Override
    public String toString() {
        return year +
                " 年 " + month +
                " 月 " + day +
                " 日";
    }
    /**
     * 求年龄
     *
     * @param year 生日的年份
     * @return 年龄
     */
    public int getAge(int year) {
        // 获取当前时间
        Calendar calendar = Calendar.getInstance();
        return calendar.get(Calendar.YEAR) - year;
    }
}

结果

image.png

实例 54

题目

定义一个类 Student,属性为学号、姓名和成绩;方法为增加记录 setRecord 和得到记录 GetRecord,增加记录给出学号、姓名和方法的赋值,得到记录方法则是通过学号得到考生的成绩。

分析

主要考察类定义以及方法的设置。

实现

import java.util.Scanner;
/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @Project : Java 编程实例
 * @Package : PACKAGE_NAME
 * @ClassName : Example54
 * @createTime : 2021/6/26 9:15
 * @Email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @Website : https://cunyu1943.github.io
 * @Description :
 */
public class Example54 {
    public static void main(String[] args) {
        Student student = new Student();
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入 id");
        int id = scanner.nextInt();
        System.out.println("输入姓名");
        String name = scanner.next();
        System.out.println("输入成绩");
        float score = scanner.nextFloat();
        student.setRecord(id, name, score);
        System.out.println("输入要查询考生的学号");
        id = scanner.nextInt();
        System.out.println("该考生的成绩:" + student.getRecord(id));
    }
}
class Student {
    private int id;
    private String name;
    private float score;
    public void setRecord(int id, String name, float score) {
        this.id = id;
        this.name = name;
        this.score = score;
    }
    public float getRecord(int id) {
        return (this.id == id) ? this.score : -1;
    }
}

结果image.png

实例 55

题目

定义猴子类,它有名字,性别等属性,并定义猴子说话的方法。然后定义一个人类,人类也有名字和性别等属性,且定义人说话的方式,使用继承,让代码具有复用性。

分析

主要考察类的定义以及继承的相关知识点。

实现

/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @Project : Java 编程实例
 * @Package : PACKAGE_NAME
 * @ClassName : Example55
 * @createTime : 2021/6/26 21:28
 * @Email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @Website : https://cunyu1943.github.io
 * @Description :
 */
public class Example55 {
    public static void main(String[] args) {
        Person person = new Person("村雨遥", 1);
        person.speak();
    }
}
class Monkey {
    private String name;
    private int sex;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getSex() {
        return sex;
    }
    public void setSex(int sex) {
        this.sex = sex;
    }
    public Monkey(String name, int sex) {
        this.name = name;
        this.sex = sex;
    }
    public Monkey() {
    }
    public void speak() {
        System.out.println(this.name + " 咿咿呀呀!");
    }
}
class Person extends Monkey {
    public Person(String name, int sex) {
        super(name, sex);
    }
    @Override
    public void speak() {
        System.out.println(this.getName() + ", 你好呀!");
    }
}

image.png

目录
相关文章
|
SQL Java API
JavaWeb第三章课后题 DBUtils工具包
JavaWeb第三章课后题 DBUtils工具包
80 0
|
6月前
|
JavaScript Java 测试技术
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
43 2
JavaWeb第十二章课后题 过滤器Filter详解
JavaWeb第十二章课后题 过滤器Filter详解
193 0
|
Java
JavaWeb第十章课后题 EL表达式
JavaWeb第十章课后题 EL表达式
196 0
JavaWeb第十三章课后题 监听器Listener详解
JavaWeb第十三章课后题 监听器Listener详解
85 0
|
Java
JavaWeb第十一章课后题 JSTL标签库
JavaWeb第十一章课后题 JSTL标签库
185 0
|
存储 Java 对象存储
JavaWeb第八章课后题 会话跟踪
JavaWeb第八章课后题 会话跟踪
136 0
|
存储 Java 关系型数据库
Java实用教程第五版课后习题
1.Person.java。 2.两个字节码,分别是Person.class和Xiti.class。 3.得到“找不到 main 方法” 得到"无法加载主类 xiti" 得到“无法加载主类 xiti.class” 得到“您好,很高兴认识您 nice to meet you”
312 0
Java实用教程第五版课后习题
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
|
机器学习/深度学习 Java
那些年,我们一起做过的 Java 课后练习题(66 - 70)
那些年,我们一起做过的 Java 课后练习题(66 - 70)
94 0
那些年,我们一起做过的 Java 课后练习题(66 - 70)