热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于java:那些年我们一起做过的-Java-课后练习题51-55

本文已同步至:村雨遥实例51题目定义一个圆柱体类Cylinder,创立相应的对象,而后计算圆柱体的底面积和体积。剖析考查如何定义一个类,以及如何在类中定义成员变量与办法,最初则是如何创立一个对象并调用办法。实现{代码}后果实例52题目创立一个图书类,类中蕴含的属性有:书名、作者、出版社、书籍状态;蕴含

本文已同步至:村雨遥

实例 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);
    }
}

后果

实例 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;
    }
}

后果

实例 53

题目

设计一个 Birthday 类,其成员变量有:yearmonthday。提供构造方法、输入 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;
    }
}

后果

实例 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;
    }
}

后果

实例 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() + ", 你好呀!");

    }
}

后果


推荐阅读
  • SpringBoot简单日志配置
     在生产环境中,只打印error级别的错误,在测试环境中,可以调成debugapplication.properties文件##默认使用logbacklogging.level.r ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 数组的排序:数组本身有Arrays类中的sort()方法,这里写几种常见的排序方法。(1)冒泡排序法publicstaticvoidmain(String[]args ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
author-avatar
马克杯2502891103
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有