用Java数据结构代码实现实现学校新闻的发布、删除、修改、查找等功能
时间: 2023-10-26 15:05:04 浏览: 18
好的,我可以为您提供一个简单的学校新闻管理系统的 Java 数据结构代码实现。这里我们使用链表(LinkedList)作为数据结构来存储新闻条目,以支持添加、删除、修改和查找操作。下面是代码实现:
```java
import java.util.LinkedList;
import java.util.Scanner;
public class SchoolNewsManager {
private static LinkedList<News> newsList = new LinkedList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 发布新闻");
System.out.println("2. 删除新闻");
System.out.println("3. 修改新闻");
System.out.println("4. 查找新闻");
System.out.println("5. 显示所有新闻");
System.out.println("0. 退出程序");
int choice = scanner.nextInt();
scanner.nextLine(); // 清除缓存区
switch (choice) {
case 1:
addNews(scanner);
break;
case 2:
deleteNews(scanner);
break;
case 3:
modifyNews(scanner);
break;
case 4:
searchNews(scanner);
break;
case 5:
showAllNews();
break;
case 0:
System.out.println("程序已退出。");
return;
default:
System.out.println("无效的选择,请重新输入。");
}
}
}
private static void addNews(Scanner scanner) {
System.out.println("请输入新闻标题:");
String title = scanner.nextLine();
System.out.println("请输入新闻内容:");
String content = scanner.nextLine();
News news = new News(title, content);
newsList.add(news);
System.out.println("新闻已发布。");
}
private static void deleteNews(Scanner scanner) {
System.out.println("请输入要删除的新闻标题:");
String title = scanner.nextLine();
for (News news : newsList) {
if (news.getTitle().equals(title)) {
newsList.remove(news);
System.out.println("新闻已删除。");
return;
}
}
System.out.println("未找到该新闻,请检查标题是否正确。");
}
private static void modifyNews(Scanner scanner) {
System.out.println("请输入要修改的新闻标题:");
String title = scanner.nextLine();
for (News news : newsList) {
if (news.getTitle().equals(title)) {
System.out.println("请输入新的新闻标题:");
String newTitle = scanner.nextLine();
System.out.println("请输入新的新闻内容:");
String newContent = scanner.nextLine();
news.setTitle(newTitle);
news.setContent(newContent);
System.out.println("新闻已修改。");
return;
}
}
System.out.println("未找到该新闻,请检查标题是否正确。");
}
private static void searchNews(Scanner scanner) {
System.out.println("请输入要查找的新闻标题:");
String title = scanner.nextLine();
for (News news : newsList) {
if (news.getTitle().equals(title)) {
System.out.println("新闻标题:" + news.getTitle());
System.out.println("新闻内容:" + news.getContent());
return;
}
}
System.out.println("未找到该新闻,请检查标题是否正确。");
}
private static void showAllNews() {
if (newsList.isEmpty()) {
System.out.println("暂无新闻。");
} else {
for (News news : newsList) {
System.out.println("新闻标题:" + news.getTitle());
System.out.println("新闻内容:" + news.getContent());
}
}
}
static class News {
private String title;
private String content;
public News(String title, String content) {
this.title = title;
this.content = content;
}
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;
}
}
}
```
以上代码实现了一个简单的学校新闻管理系统,可以根据用户选择进行添加、删除、修改、查找和显示操作。其中,新闻条目使用 News 类来表示,并存储在一个 LinkedList 中。您可以根据需要自定义 News 类的属性和方法,以及扩展其他操作。