用java语言编写一个book类

、上机内容

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

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

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

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

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

思路:根据题目一句一句编写,这样很容易就学会了,按照题目编号编写;
首先定义一个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


public class Test {

    public static void main(String[] args) {
        Book b1 = new Book(300,"java编程艺术");
        b1.detail();
        Book b2 = new Book("程序员的自我修养",300,"修身");
        b2.detail();
        Book b3 = new Book(100,"你真的会写代码吗?");
        b3.detail();
    }

}

class Book {
    private String title;
    private int pageNum;
    private String type;

    public Book(int pageNum, String title) {
        this.pageNum = pageNum;
        this.title = title;
        this.type = "计算机";
    }

    public Book(String title, int pageNum, String type) {
        this.title = title;
        this.pageNum = pageNum;
        this.type = type;
    }

    public void detail() {
        if (pageNum < 200) {
            System.out.println("页数不能少于200页!");
            return;
        }
        System.out.println("教材名称:" + title + "页数:" + pageNum + "种类:" + type);
    }
}

如果帮到您,希望给个采纳

另外 博主在1024那天参加活动,发布了一个blog,可以来访问一下,感激不尽。

我想在1024发的一篇博客。_Pumpkin's Blog-CSDN博客 前言  本篇文章不谈技术,只写一些随笔。  直到今天(2021年10月24日)笔者已经毕业一年了。其实在这之前我对于1024,程序员这些名词在心里其实并不是很在意,每年在这一天大概就是看看网上的搞笑新闻以及图片,心里笑一笑就过去了。但是今年对于1024突然有一种别样的感觉,不同于往日,好像这就是我应该过的一个节日。  为什么会产生这样的感觉呢?我思索良久,大概可能是因为已经真正意义的工作了一年,内心接受了自己属于程序员的这个大群体,并且从某种意义上来说这是工作后的第一个1024,新鲜感也是一方面吧。但 https://blog.csdn.net/weixin_44235109/article/details/120924109