培训的时间安排的格外紧凑,也格外的充实,每一天,我都可以感受到自己的进步,我甚至感受到这种每天疯狂灌输知识的感觉,让我产生了回到高三时代的错觉。今天抽个空,分享一下我自己尝试做的一些小东西,写的应该比较简陋。
先上题目:
使用泛型和增强for循环,继续完善第六章的新闻管理;创建新闻实体类NewsInfo,包含的属性:newsId(新闻编号)、newsTitle(新闻标题)、newsContent(新闻内容)、newsDate(发布时间);再定义一个测试类TestNews,定义如下方法::()查询全部新闻,返回一个泛型集合(ArrayList())、addNews(NewsInfo news)添加新闻、deleteNews(int newsId)删除新闻。程序输出结果如下所示:
< < < < < < 使用ArrayList实现新闻管理系统 > > > > > >
- 查询新闻
- 添加新闻
- 删除新闻
请选择功能(1,2,3):
1
编号 标题 内容
1001 Java的集合很好用 这是我发布的第一条新闻
提示:按回车返回主菜单
-
查询新闻
-
添加新闻
-
删除新闻
请选择功能(1,2,3):
2
请输入新闻编号:
1002
请输入新闻标题:
如何学习集合框架
请输入新闻内容:
集合框架很容易学,多多练习就好了。
添加新闻成功!
提示:按回车返回主菜单 -
查询新闻
-
添加新闻
-
删除新闻
请选择功能(1,2,3):
3
请输入删除的新闻编号:
1003
对不起,没有找到该编号的新闻;是否继续输入(y/n):
y
请输入删除的新闻编号:
1002
删除成功!话不多说,直接上我的代码:
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Scanner;
public class TestNews {
static ArrayList<NewsInfo> al = new ArrayList<NewsInfo>();
public ArrayList<NewsInfo> showAllNews(){
System.out.println("==================================");
for (NewsInfo newsInfo : al) {
System.out.println(newsInfo);
System.out.println("==================================");
}
// System.out.println("==================================");
return null;
}
public void addNews(NewsInfo news){
al.add(news);
}
public void deleteNews(int newsId){
Iterator iter = al.iterator();
while(iter.hasNext()){
NewsInfo ne = (NewsInfo)iter.next();
if(newsId==ne.getNewsId()){
iter.remove();
System.out.println("删除成功!!");
}else{
System.out.println("对不起没有找到相关对象");
}
}
}
public static void main(String[] args) {
al.add(new NewsInfo(1001, "震惊,男子.....", "某男子半夜....", new Date().getTime()));
Scanner sc= new Scanner(System.in);
// Scanner scn = new Scanner(System.in).useDelimiter("\r\n");
TestNews tn = new TestNews();
System.out.println("<<<<<<<<<使用ArrryList实现新闻管理系统>>>>>>>>");
for (int i = 0; i < 100; i++) {
System.out.println(" 1.查询新闻\n 2.添加新闻\n 3.删除新闻");
System.out.println("-----------------------------------");
int x =sc.nextInt();
if(1==x){
tn.showAllNews();
}else if(2==x){
System.out.println("请输入新闻编号:");
int newsId =sc.nextInt();
System.out.println("请输入新闻标题:");
String newsTitle = sc.next();
System.out.println("请输入新闻内容:");
String newsContent =sc.next();
NewsInfo news = new NewsInfo(newsId, newsTitle, newsContent, new Date().getTime());
tn.addNews(news);
}else if(3==x){
System.out.println("请输入删除的新闻编号:");
int m = sc.nextInt();
tn.deleteNews(m);
}
System.out.println("输入'n'结束,输入任意值返回主菜单");
if("n".equals(sc.next())){
sc.close();
break;
}
}
}
}
创建实体类的代码就不用贴了,这道题中,我也遇上了难点,在题中要求输入回车后,返回主菜单,但是实际情况下,我并没有弄出怎么读取 输入的 回车键 的方法,诶,继续加油,努力积累!!