qq_58412872 2021-10-29 10:13 采纳率: 60%
浏览 1756
已结题

用java语言编写一个book类

、上机内容

(1)编写一个类Book,代表教材,并编写测试类完成信息输出。

1)具有属性:名称(title)、页数(pageNum)、种类(type)。

2)具有两个带参的构造方法:第一个构造方法中,设置教材种类为“计算机”(固定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数给定。

3)具有方法:detail,用来在控制台输出每本教材的名称、页数和种类。其中页数不能少于200页,否则输出错误信息。

4)编写测试类,输入教材的名称、页数和种类,并打印输出教材的具体信息。

  • 写回答

2条回答 默认 最新

  • 一枚小爪哇 2021-10-29 11:34
    关注

    思路:根据题目一句一句编写,这样很容易就学会了,按照题目编号编写;
    首先定义一个Book类,其次编写一个BookTest类:

    /**
     * @author user
     * @describle (1)编写一个类Book,代表教材,并编写测试类完成信息输出。
     * <p>
     * 1)具有属性:名称(title)、页数(pageNum)、种类(type)。
     * <p>
     * 2)具有两个带参的构造方法:第一个构造方法中,设置教材种类为“计算机”(固定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数给定。
     * <p>
     * 3)具有方法:detail,用来在控制台输出每本教材的名称、页数和种类。其中页数不能少于200页,否则输出错误信息。
     * <p>
     * 4)编写测试类,输入教材的名称、页数和种类,并打印输出教材的具体信息。
     * @since 2021/10/29
     */
    public class Book {
        /**
         * 1)具有属性:名称(title)、页数(pageNum)、种类(type)。
         */
        private String title;
        private Integer pageNum;
        private String type;
    
        /**
         * 2)第一个构造方法中,设置教材种类为“计算机”(固定),其余属性的值由参数给定;
         *
         * @param title   名称
         * @param pageNum 页数
         */
        public Book(String title, Integer pageNum) {
            // 设置教材种类为“计算机”(固定)
            this.type = "计算机";
            this.title = title;
            this.pageNum = pageNum;
        }
    
        /**
         * 2) 第二个构造方法中,所有属性的值都由参数给定。
         *
         * @param title   名称
         * @param pageNum 页数
         * @param type    种类
         */
        public Book(String title, Integer pageNum, String type) {
            this.title = title;
            this.pageNum = pageNum;
            this.type = type;
        }
    
        /**
         * 3)具有方法:detail,用来在控制台输出每本教材的名称、页数和种类。其中页数不能少于200页,否则输出错误信息。
         *
         */
         public void detail() throws Exception {
            if (pageNum < 200) {
                throw new Exception("教材页数不能少于200页");
            } else {
                System.out.println(toString());
            }
        }
    
        @Override
        public String toString() {
            return "教材信息:{" +
                    "名称: '" + title + '\'' +
                    ", 页数: " + pageNum +
                    ", 种类: '" + type + '\'' +
                    '}';
        }
    }
    

    BookTest类:

    /**
     * 4)编写测试类,输入教材的名称、页数和种类,并打印输出教材的具体信息。
     *
     * @author user
     * @since 2021/10/29
     */
    public class BookTest {
        public static void main(String[] args) throws Exception {
            Book book = new Book("c语言程序设计",500);
            book.detail();
    
            Book book2 = new Book("会计学",400, "金融类");
            book2.detail();
    
            Book book3 = new Book("建筑设计",150, "建筑类");
            book3.detail();
        }
    }
    

    运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 10月29日

悬赏问题

  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题