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

用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日

悬赏问题

  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)
  • ¥15 第一个已完成,求第二个做法
  • ¥20 搭建awx,试了很多版本都有错
  • ¥15 java corba的客户端该如何指定使用本地某个固定IP去连接服务端?
  • ¥15 activiti工作流问题,求解答
  • ¥15 有人写过RPA后台管理系统么?
  • ¥15 Bioage计算生物学年龄
  • ¥20 如何将FPGA Alveo U50恢复原来出厂设置哇?
  • ¥50 cocos2d-x lua 在mac上接入lua protobuf?