当前位置: 首页 > 工具软件 > news > 使用案例 >

封装一个新闻类News,包含新闻标题,新闻作者,新闻内容,新闻类型三个属性,提供必要的访问器和修改器方法重写toString方法,要求打印对象时输出格式为“标题;

夏兴平
2023-12-01
封装一个新闻类News,包含新闻标题,新闻作者,新闻内容,
新闻类型三个属性,提供必要的访问器和修改器方法,重写toString方法,
要求打印对象时输出格式为“标题;类型;作者”,要求只要新闻标题相同就判断为同一条新闻。
在测试类中创建一个只能容纳该类对象的ArrayList集合,
添加三条新闻。遍历集合,打印新闻标题,将新闻标题截取字符串到10个汉字的长度。
类型

public class CityNews {
}

public class FocusNews {
}

News类

/*
    封装一个新闻类News,包含新闻标题,新闻作者,新闻内容,
    新闻类型三个属性,提供必要的访问器和修改器方法,重写toString方法,
    要求打印对象时输出格式为“标题;类型;作者”,要求只要新闻标题相同就判断为同一条新闻。
    在测试类中创建一个只能容纳该类对象的ArrayList集合,
    添加三条新闻。遍历集合,打印新闻标题,将新闻标题截取字符串到10个汉字的长度。
 */
public class News<T> {
    private T Type;//新闻类型
    private String title;//新闻标题
    private String author;//新闻作者
    private String content;//新闻内容

    public News() {
    }

    public News(String title, String author, String content) {
        this.title = title;
        this.author = author;
        this.content = content;
    }
    /*提供必要的访问器和修改器方法*/

    public T getType() {
        return Type;
    }

    public void setType(T type) {
        Type = type;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    @Override
    public String toString() {
        return "News{" +
                "title='" + title + '\'' +
                ", author='" + author + '\'' +
                ", content='" + content + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        News<?> news = (News<?>) o;
        return Objects.equals(title, news.title);
    }


}

NewsDemo测试类

public class NewsDemo {
    public static void main(String[] args) {
        /*在测试类中创建一个只能容纳该类对象的ArrayList集合,添加三条新闻。*/
        ArrayList<News> list = new ArrayList<>();
        list.add(new News<CityNews>("成都市疾控中心:减少非必要外出 相关人员及时完成核酸检测","王冰冰","我也不知道写什么新闻"));
        list.add(new News<FocusNews>("扎克伯格「元宇宙」的故事","张扬","焦点访谈"));
        list.add(new News<CityNews>("加密货币“鱿鱼币”骗局:暴涨后5分钟内跌至几乎为零","张大大","新闻圣诞节"));

        /*遍历集合,打印新闻标题,将新闻标题截取字符串到10个汉字的长度。*/

        Iterator<News> iterator = list.iterator();
        while (iterator.hasNext()){
            News news = iterator.next();
           if(news.getTitle().length() < 10){
               System.out.println(news.getTitle());
           }else {
               System.out.println(news.getTitle().substring(0, 10));
           }
        }


    }
}
 类似资料: