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
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();
}
}