Java【封装一个新闻类,包含标题和内容属性】
题目:
1、封装一个新闻类,包含标题和内容属性,提供get、set方法,重写toString方法,打印对象时只打印标题;(10分)
2、只提供一个带参数的构造器,实例化对象时,只初始化标题;并且实例化两个对象:
新闻一:中国多地遭雾霾笼罩空气质量再成热议话题
新闻二:春节临近北京“卖房热”
3、将新闻对象添加到ArrayList集合中,并且使用ListIterator倒序遍历;
4、在遍历集合过程中,对新闻标题进行处理,超过15字的只保留前14个,然后在后边加“…”
5、在控制台打印遍历出经过处理的新闻标题;
大体思路:
1.创建News对象,并实例化两个新闻
2.将对象存入ArrayList中,调用其listIterator(iterator的子类),此时可以调用listIterator的Previous方法将指针向上值
3.通过向下转型调用News的length属性,判断长度是否超过15,输出对应数据
代码:
//两个属性 private String title; private String content; public News() { } public News(String title) { this.title = title; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } //重写toString方法 @Override public String toString() { return title; } //通过构造器创建两个对象 News n1 = new News("新闻一:中国多地遭雾霾笼罩空气质量再成热议话题"); News n2 = new News("新闻二:春节临近北京“卖房热”"); //使用ArrayList存放数据 ArrayList arr = new ArrayList(); arr.add(n1); arr.add(n2); //使用迭代器 ListIterator listIterator=arr.listIterator(); //将迭代器位置移动到最后一位 while (listIterator.hasNext()){ listIterator.next(); } //判断迭代器前面一位是否有数据,有数据就进入循环判断长度和确定输出数据并打印 while (listIterator.hasPrevious()) { Object obj=listIterator.previous(); News news=(News)obj; String title=news.getTitle(); if(title.length()>15){ System.out.println(title.substring(0, 15) + "..."); }else { System.out.println(title); } }