当前位置: 首页 > news >正文

分解原则编写

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

// ManuscriptInformation类
class ManuscriptInformation {
private int id;
private String name;
private String unit;
private String content;
private int statement;
private String opinion;
private String date;

// 构造函数
public ManuscriptInformation(int id, String name, String unit, String content, int statement, String opinion, String date) {this.id = id;this.name = name;this.unit = unit;this.content = content;this.statement = statement;this.opinion = opinion;this.date = date;
}// Getter和Setter方法
public int getId() {return id;
}public void setId(int id) {this.id = id;
}public String getName() {return name;
}public void setName(String name) {this.name = name;
}public String getUnit() {return unit;
}public void setUnit(String unit) {this.unit = unit;
}public String getContent() {return content;
}public void setContent(String content) {this.content = content;
}public int getStatement() {return statement;
}public void setStatement(int statement) {this.statement = statement;
}public String getOpinion() {return opinion;
}public void setOpinion(String opinion) {this.opinion = opinion;
}public String getDate() {return date;
}public void setDate(String date) {this.date = date;
}

}

// ManuscriptManagement类
class ManuscriptManagement {
private List manuscripts;
private Scanner scanner;

public ManuscriptManagement() {manuscripts = new ArrayList<>();scanner = new Scanner(System.in);initializeManuscripts();
}// 初始化5个稿件记录
private void initializeManuscripts() {manuscripts.add(new ManuscriptInformation(25090110, "张三", "北京大学", "软件工程中的敏捷开发方法研究与实践应用分析", 1, "研究内容详实,方法得当", "2025-09-01"));manuscripts.add(new ManuscriptInformation(25090111, "李四", "清华大学", "人工智能在医疗诊断中的应用与挑战分析报告", 0, "", "2025-09-02"));manuscripts.add(new ManuscriptInformation(25090112, "王五", "上海交通大学", "区块链技术在供应链管理中的创新应用研究", 2, "研究内容不够深入,建议修改", "2025-09-03"));manuscripts.add(new ManuscriptInformation(25090113, "赵六", "浙江大学", "大数据分析在商业智能中的应用研究与实践", 1, "数据分析方法新颖,有实用价值", "2025-09-04"));manuscripts.add(new ManuscriptInformation(25090114, "钱七", "南京大学", "云计算环境下的数据安全与隐私保护技术研究", 0, "", "2025-09-05"));
}// 生成稿件编号
private int generateManuscriptId() {LocalDate today = LocalDate.now();String yearMonth = today.format(DateTimeFormatter.ofPattern("yyMM"));int maxId = 0;for (ManuscriptInformation manuscript : manuscripts) {String manuscriptIdStr = String.valueOf(manuscript.getId());if (manuscriptIdStr.substring(0, 4).equals(yearMonth)) {int currentNum = Integer.parseInt(manuscriptIdStr.substring(4));if (currentNum > maxId) {maxId = currentNum;}}}return Integer.parseInt(yearMonth + String.format("%04d", maxId + 1));
}// 显示主菜单
public void displayMainMenu() {while (true) {System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");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("***********************************************************");System.out.print("请选择功能(1-5): ");String choice = scanner.nextLine();switch (choice) {case "1":submitManuscript();break;case "2":reviewManuscript();break;case "3":queryProgress();break;case "4":showStatistics();break;case "5":System.out.println("感谢使用在线投稿系统,再见!");return;default:System.out.println("错误:该选项不存在,请重新选择!");}}
}// 在线投稿功能
private void submitManuscript() {System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");// 生成稿件编号int manuscriptId = generateManuscriptId();System.out.println("稿件编号:" + manuscriptId + "(系统自动生成)");// 获取作者信息System.out.print("作者姓名:");String name = scanner.nextLine();System.out.print("作者单位:");String unit = scanner.nextLine();// 获取稿件内容,验证长度String content;while (true) {System.out.print("稿件内容:");content = scanner.nextLine();if (content.length() > 300) {System.out.println("录入错误:稿件内容不能超过300字,请重新录入!");} else {break;}}// 显示确认信息System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("稿件编号:" + manuscriptId);System.out.println("作者姓名:" + name);System.out.println("作者单位:" + unit);System.out.println("稿件内容:" + content);// 确认提交System.out.print("该稿件已录入完成,是否提交(Y/N): ");String confirm = scanner.nextLine();if (confirm.toUpperCase().equals("Y")) {// 获取当前日期String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));// 创建新稿件对象ManuscriptInformation newManuscript = new ManuscriptInformation(manuscriptId, name, unit, content, 0, "", currentDate);// 添加到稿件列表manuscripts.add(newManuscript);System.out.println("稿件提交成功!");} else {System.out.println("稿件提交已取消。");}
}// 审核稿件功能
private void reviewManuscript() {System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.print("请输入稿件编号:");String manuscriptIdStr = scanner.nextLine();// 查找稿件ManuscriptInformation manuscript = null;for (ManuscriptInformation m : manuscripts) {if (String.valueOf(m.getId()).equals(manuscriptIdStr)) {manuscript = m;break;}}if (manuscript == null) {System.out.println("错误:库中没有该稿件!");return;}// 检查稿件状态if (manuscript.getStatement() != 0) {System.out.println("该稿件已审核,不能重复审核!");return;}// 显示稿件信息System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("稿件编号:" + manuscript.getId());System.out.println("作者姓名:" + manuscript.getName());System.out.println("作者单位:" + manuscript.getUnit());System.out.println("稿件内容:" + manuscript.getContent());// 获取审核信息System.out.print("审核意见:");String opinion = scanner.nextLine();System.out.print("是否通过(Y/N): ");String isApproved = scanner.nextLine();System.out.print("是否提交(Y/N): ");String confirm = scanner.nextLine();if (confirm.toUpperCase().equals("Y")) {// 更新稿件信息manuscript.setOpinion(opinion);if (isApproved.toUpperCase().equals("Y")) {manuscript.setStatement(1);} else {manuscript.setStatement(2);}// 更新日期String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));manuscript.setDate(currentDate);System.out.println("审核结果已提交!");// 返回审核界面reviewManuscript();} else {System.out.println("审核已取消。");}
}// 查询进度功能
private void queryProgress() {System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.print("请输入稿件编号:");String manuscriptIdStr = scanner.nextLine();// 查找稿件ManuscriptInformation manuscript = null;for (ManuscriptInformation m : manuscripts) {if (String.valueOf(m.getId()).equals(manuscriptIdStr)) {manuscript = m;break;}}if (manuscript == null) {System.out.println("错误:库中没有该稿件!");return;}// 显示稿件信息System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("稿件编号:" + manuscript.getId());System.out.println("作者姓名:" + manuscript.getName());System.out.println("作者单位:" + manuscript.getUnit());System.out.println("稿件内容:" + manuscript.getContent());System.out.println("审核意见:" + manuscript.getOpinion());// 显示审核状态int status = manuscript.getStatement();String statusText = "";switch (status) {case 0:statusText = "未审核";break;case 1:statusText = "已通过";break;case 2:statusText = "已退回";break;}System.out.println("审核状态:" + statusText);// 询问是否进行新查询System.out.print("是否进行新查询(Y/N): ");String newQuery = scanner.nextLine();if (newQuery.toUpperCase().equals("Y")) {queryProgress();}
}// 统计汇总功能
private void showStatistics() {int total = manuscripts.size();int pending = 0;int approved = 0;int rejected = 0;for (ManuscriptInformation manuscript : manuscripts) {int status = manuscript.getStatement();if (status == 0) {pending++;} else if (status == 1) {approved++;} else {rejected++;}}System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("总投稿数:" + total + "篇");System.out.println("未审核:" + pending + "篇");System.out.println("已通过:" + approved + "篇");System.out.println("已退回:" + rejected + "篇");System.out.println("***********************************************************");
}

}

// 主程序
public class OnlineSubmissionSystem {
public static void main(String[] args) {
ManuscriptManagement system = new ManuscriptManagement();
system.displayMainMenu();
}
}

http://www.jsqmd.com/news/5049/

相关文章:

  • 关于Leetcode 812题的简单思考
  • Laravel5.8 利用 snappyPDF 生成PDF文件
  • 数据结构——链表 - 详解
  • 25秋周总结4
  • Python 潮流周刊#121:工程师如何做出高效决策?
  • 饥荒联机版
  • LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(5——通过cpp-httplib库建立网页模块) - 详解
  • iSCSI网络存储——基于VM17下麒麟V10SP1与SP2的共享配置
  • 微信二次开发文档
  • CSP-S1 2025
  • 金币
  • 【阿里DeepResearch】写作组件WebWeaver详解 - 指南
  • 【远程桌面】运维强推设备之远程控制软件RustDesk 1.4.1 全面指南:开源远程桌面的终极解决方案
  • 完整教程:PostgreSQL 知识体系
  • 加密货币技术革命:揭秘数字复兴时代
  • 第六篇
  • 6378:删除数组中的元素(链表)
  • 【底层机制】Android标准C库为什么选择 bionic 而不是 musl【一】 - 详解
  • DiffDock 环境安装和启用教程
  • 对于烧烤签子的钢材担忧
  • 20250927
  • 详细介绍:CTFshow系列——PHP特性Web113-115(123)
  • [题解]P11533 [NOISG 2023 Finals] Topical
  • 详解 Kubernetes 命令:kubectl exec -it nginx -- bash 及实战场景 - 教程
  • day20_修改 删除功能
  • [题解]P10231 [COCI 2023/2024 #4] Putovanje
  • Linux环境之----POSIX信号量
  • WPF Prism register interface and service, view and viewmodel, IRegionManager, RequestNavigate
  • 完整教程:Flink 容错从状态后端到 Exactly-Once
  • 【08】海康相机C#开发——在海康MVS的**C#实例中添加控件报错**“`不能在本地化模式下添加组件。在 Language 属性中选择”(默认)”以返回到默认格式,然后添加组件`” - 实践