利用ArrayList实现简单的管理系统

package com.homework.demo_4;
/*
* 1.定义一个接口,让其实现类实现它的所以得方法,同时限制类的实现
* 2.查询新闻
* 3.添加新闻
* 4.删除新闻
* */
public interface INewsInfo {
//查询新闻,根据新闻编号查找
public abstract void findNews(String newsId);
//添加新闻
public abstract void addNews(NewsInfo news);
//删除新闻
public abstract void deleteNews(String newsId);
//定义一个方法,显示所以得新闻
public abstract void showAllNews();
}

//////////////////////////////////////以上是接口////////////////////////////////////////////////

package com.homework.demo_4;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Scanner;

public class NewsInfo implements INewsInfo{
private String newsId;
private String newsTitle;
private String newsContent;
private Date newsDate;
public String getNewsId() {
return newsId;
}

public void setNewsId(String newsId) {
this.newsId = newsId;
}

public String getNewsTitle() {
return newsTitle;
}

public void setNewsTitle(String newsTitle) {
this.newsTitle = newsTitle;
}

public String getNewsContent() {
return newsContent;
}

public void setNewsContent(String newsContent) {
this.newsContent = newsContent;
}

public Date getNewsDate() {
return newsDate;
}

public void setNewsDate(Date newsDate) {
this.newsDate = newsDate;
}

//定义一个集合用于存储对象
List<NewsInfo> list = new ArrayList<NewsInfo>();

@Override
//查询新闻,根据新闻编号查找
public void findNews(String newsId) {
if(list.isEmpty()){
System.out.println("还没有你要查找的信息哦!!!");
}else{
for (NewsInfo news :list) {
if(news.getNewsId().equals(newsId)){//判断集合中是否有该Id值
System.out.println(news.toString());
}
}
}

}

@Override
//添加新闻
public void addNews(NewsInfo news) {
//创建一个扫描器对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要添加编号:");
String newsId = sc.nextLine();
System.out.println("请输入你要添加标题:");

String newsTitle = sc.nextLine();
//sc.nextLine();
System.out.println("请输入你要添加新闻的内容:");
String newsContent = sc.nextLine();
news = new NewsInfo();
news.newsId = newsId;
news.newsTitle = newsTitle;
news.newsContent = newsContent;
list.add(news);
for (NewsInfo po :list) {
System.out.println(po);
}

}

@Override
//删除新闻,根据Id号删除新闻
public void deleteNews(String newsId) {
if(list.isEmpty()){
System.out.println("没有你要删除的新闻哦!!!");
}else{
for (NewsInfo news : list) {
if(news.getNewsId().equals(newsId)){//判断集合中是否存在这个ID
list.remove(news);
}
}
for (NewsInfo ni :list) {
System.out.println(ni);
}
}
}

@Override
public String toString() {
return newsId +"\t"+ newsTitle+"\t\t"+newsContent;
}

@Override
//定义一个方法,显示所以得新闻
public void showAllNews() {
if(list.isEmpty()){
System.out.println("目前还没有任何新闻哦!!!");
}else{
for (NewsInfo ni :list) {
System.out.println(ni);
}
}
}

}

////////////////////////////////以上类是实现了接口中的类////////////////////////////////////

package com.homework.demo_4;

import java.util.Scanner;

/*
* 测试使用ArrayList实现新闻管理系统
*/
public class TestNews {
public static void main(String[] args) {
NewsInfo news = new NewsInfo();
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<使用ArrayList实现新闻管理系统>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
while(true){
System.out.println("1.查询新闻");
System.out.println("2.添加新闻");
System.out.println("3.删除新闻");
System.out.println("4.查询所有新闻");
System.out.println("请选择功能(1,2,3,4,其中0为退出系统)");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.println("ArrayList新闻内容如下:");
System.out.println("================================================");
System.out.println("编号"+"\t标题"+"\t\t内容");
switch(number){
case 1:
sc.nextLine();//消除换行时的空格
System.out.println("请输入你要查询的编号:");
String newsId = sc.nextLine();
news.findNews(newsId);
break;
case 2:
news.addNews(news);
break;
case 3:
sc.nextLine();//消除换行时的空格
System.out.println("请输入你要删除的新闻编号:");
String newsId1 = sc.nextLine();
news.deleteNews(newsId1);
break;
case 4:
news.showAllNews();
break;
case 0:
System.out.println("谢谢使用本系统,欢迎下次光临!!!");
System.exit(0);
break;
}
System.out.println("================================================");

}
}
}

///////////////////////////以上是测试类////////////////////////////////////////////////

时间: 2024-08-06 11:45:24

利用ArrayList实现简单的管理系统的相关文章

web实践小项目&lt;一&gt;:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进行整理,希望能给其他初学者提供参考,也希望有大神在浏览我粗糙的开发过程中能指出一些意见或建议. (阅读以下内容需要有一定的html/css,javascript,python和sql基础,and谢谢阅读!) 注:实践中的环境为ubuntu 14.04操作系统,python3.4(2.7实测也可行),

SpringMVC+Spring Data JPA+Shiro+EasyUI简单权限管理系统

SpringMVC+Spring Data JPA+Shiro+EasyUI简单权限管理系统 一直想做一个管理系统,希望它简洁,能做一个demo使用.以后在研究学习的时候,可以在此基础上增加代码.我觉得权限管理系统很值得做,因为涉及关系数据库模式的设计,能学到很多东西.万事开头难,先做个简单的,以后再慢慢完善的.任何事情关键是要做,不能停留在想. 前端 由于之前没有多少前端编程经验,所以做起前端比较吃力.之前前端使用Bootstrap,发现需要自己编写很多前端代码,虽然花费了很多时间,但是页面做

ArcGIS利用DEM制作简单三维

利用DEM数据镶嵌后,矢量数据裁剪得到研究范围的DEM数据,在ARCScene中进行三维制作 ArcGIS利用DEM制作简单三维 点击学习我的系统教程哦

如何利用jQuery进行简单表单验证

如何利用jQuery进行简单表单验证:利用jQuery可以进行表单验证,当然有比较复杂的表单验证,这里就不介绍了,下面就简单介绍一下如何使用jQuery进行简单的表单验证,然后大家可以通过改造进行基本的表达验证了.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http

利用replaceChild制作简单的吞噬效果【jsDEMO】

[功能说明] 利用replaceChild制作简单的吞噬效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class="in"

利用removeChild制作简单的倒序删除效果【jsDEMO】

[功能说明] 利用removeChild制作简单的倒序删除效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class="in"

C++利用反射和简单工厂模式实现业务模块解耦

1. 业务说明 为了便于说明,举一个简单的例子.假设现在有一个项目需要建立一个和银行交互的平台,目前只接入工商银行,后续接入其他银行,每个银行的业务都有差异,报文格式可能也不一致. 这里只列举几个简要的流程,仅包括拼报文,发送报文,接收报文,解析报文,其余整体架构以及后续处理等内容省略. 2. 初步设计 创建一个银行交互类 BankOpt,包括四个函数: int setMsg(); //拼报文 int sendMsg(); //发送报文 int getMsg(); //接收报文 int pars

记录利用ettercap进行简单的arp欺骗和mitm攻击过程

方法均来自网络,本人只是记录一下自己操作的过程,大神请无视之- 攻击主机平台:kali-linux        被攻击主机:安卓手机192.168.1.107    (在同一局域网内) 1.利用ettercap进行arp欺骗: root权限下打开ettercap:ettercap -C (curses UI)             ettercap -G (GTK+ GUI) curses UI工作界面: GTK+ UI工作界面: 这里以GTK+ UI为例,打开ettercap之后,选择Sn

学习笔记:利用GDI+生成简单的验证码图片

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 学习笔记:利用GDI+生成简单的验证码图片 1 /// <summary> 2 /// 单击图片时切换图片 3 /// </summary> 4 /// <param name="sender">&