分解原则编写
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();
}
}

浙公网安备 33010602011771号