按要求实现下列问题:
1)封装一个新闻类,包含标题和内容属性,提供get、set方法,重写toString方法,打印对象时只打印标题;(10分)
2)只提供一个带参数的构造器,实例化对象时,只初始化标题;并且实例化两个对象:
新闻一:中国多地遭雾霾笼罩空气质量再成热议话题
新闻二:春节临近北京“卖房热”
3)将新闻对象添加到ArrayList集合中,并且使用ListIterator倒序遍历;
4)在遍历集合过程中,对新闻标题进行处理,超过15字的只保留前14个,然后在后边加“…”
5)在控制台打印遍历出经过处理的新闻标题;
编写新闻类:
package com.atguigu.lianxi;
/**
* @author shkstart
* @create 2021-07-29 15:41
*/
public class News {
private String title;//标题
private String content;//内容
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;
}
@Override
public String toString() {
if (title.length() <= 15){
return "News{" +
"title='" + title + '\'' +
'}';
} else{
return "News{" +
"title='" + title.substring(0,14) + "..." + '\'' +
'}';
}
}
}
编写测试类:
package com.atguigu.lianxi;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
/**
* @author shkstart
* @create 2021-07-29 15:44
*/
public class NewsExer {
@Test
public void test1(){
//并且实例化两个对象:
News news1 = new News("新闻一:中国多地遭雾霾笼罩空气质量再成热议话题");
News news2 = new News("新闻二:春节临近北京“卖房热”");
//将新闻对象添加到ArrayList集合中,并且使用ListIterator倒序遍历;
ArrayList<News> news = new ArrayList<>();
news.add(news1);
news.add(news2);
Collections.reverse(news);//反转
Iterator<News> iterator = news.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
System.out.println("******************************");
//在遍历集合过程中,对新闻标题进行处理,超过15字的只保留前14个,然后在后边加“…”
/*重写toString方法
@Override
public String toString() {
if (title.length() <= 15){
return "News{" +
"title='" + title + '\'' +
'}';
} else{
return "News{" +
"title='" + title.substring(0,14) + "..." + '\'' +
'}';
}
}
*/
//5)在控制台打印遍历出经过处理的新闻标题;
for (News news3 : news){
news3.toString();
}
}
}