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

用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 UE5样条线生成的网格UV问题
  • ¥15 如何用最短的时间大致看懂springboot+vue的项目
  • ¥15 (有偿)懂数值分析和含时变参数微分方程的来
  • ¥15 layui父页的数据表格如何用弹窗页提交后的查询数据来更新数据表格内容?
  • ¥15 abaqus随机生成二维颗粒
  • ¥15 安装ansys许可证管理器时出现了这个问题,如何解决?
  • ¥100 高价求算法,利用智能手机传感器计算车辆的三轴g值
  • ¥15 Blazor server 数据库操作异常,如何解决?(语言-c#)
  • ¥15 uni-app开发APP运行到浏览器访问接口跨域
  • ¥100 mfc消息自创建控件