10.28总结

news/2025/10/30 0:02:06/文章来源:https://www.cnblogs.com/zhao-hang/p/19175630

import java.util.Scanner;

/**

  • 班级:[请填写班级]

  • 学号:[请填写学号]

  • 姓名:[请填写姓名]

  • 功能:在线投稿系统的管理类,实现核心业务逻辑
    */
    public class Main {
    // 用数组存储稿件,最多存储100条记录(可扩展)
    private ManuscriptInformation[] manuscripts;
    private int count; // 当前稿件数量
    private Scanner scanner; // 用于接收用户输入

    // 构造方法:初始化数组和扫描器
    public Main() {
    manuscripts = new ManuscriptInformation[100]; // 初始化数组容量
    count = 0; // 初始稿件数量为0
    scanner = new Scanner(System.in); // 初始化扫描器
    }

    // 主方法:程序入口
    public static void main(String[] args) {
    Main system = new Main();
    system.showMainMenu(); // 展示主界面
    }

    /**

    • 展示系统主界面
      */
      public void showMainMenu() {
      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("***********************************************************");
      System.out.print("请输入功能编号(1-4):");

       // 接收用户输入int choice;try {choice = Integer.parseInt(scanner.nextLine());} catch (NumberFormatException e) {System.out.println("输入错误!请输入数字1-4");continue;}// 根据选择执行对应功能switch (choice) {case 1:submitManuscript(); // 在线投稿break;case 2:reviewManuscript(); // 审核稿件break;case 3:queryManuscript(); // 查询进度break;case 4:statisticsManuscript(); // 统计汇总break;default:System.out.println("该选项不存在!请重新输入");}
      

      }
      }

    /**

    • 1、在线投稿功能
      */
      public void submitManuscript() {
      while (true) {
      // 1. 生成稿件编号(数组中最大编号+1,初始为20090001)
      int newId = generateManuscriptId();
      if (newId == -1) {
      System.out.println("录入错误:稿件编号生成失败");
      continue;
      }

       // 2. 录入作者信息System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.print("请输入作者姓名:");String authorName = scanner.nextLine().trim();System.out.print("请输入作者单位:");String authorUnit = scanner.nextLine().trim();System.out.print("请输入稿件内容(不超过300字):");String content = scanner.nextLine().trim();// 3. 验证输入格式if (content.length() > 300) {System.out.println("录入错误:稿件内容超过300字,请重新录入");continue;}// 4. 显示录入信息并确认System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("稿件编号:" + newId);System.out.println("作者姓名:" + authorName);System.out.println("作者单位:" + authorUnit);System.out.println("稿件内容:" + content);System.out.print("该稿件已录入完成,是否提交(Y/N):");String confirm = scanner.nextLine().trim().toUpperCase();// 5. 处理提交确认if ("Y".equals(confirm)) {// 获取当前日期(格式:yyyyMMdd,简化处理)String currentDate = java.time.LocalDate.now().format(java.time.format.DateTimeFormatter.BASIC_ISO_DATE);// 创建稿件对象并添加到数组ManuscriptInformation manuscript = new ManuscriptInformation(newId, authorName, authorUnit, content,0, "", currentDate // 初始状态为0(未审核),审核意见为空);manuscripts[count] = manuscript;count++;System.out.println("投稿成功!返回主界面");break;} else if ("N".equals(confirm)) {System.out.println("已取消提交,返回稿件录入界面");// 继续循环,重新录入} else {System.out.println("输入无效,请输入Y或N");}
      

      }
      }

    /**

    • 生成稿件编号(8位:前4位年月+后4位序号)

    • @return 新的稿件编号,生成失败返回-1
      */
      private int generateManuscriptId() {
      try {
      // 1. 获取当前年月(格式:yyyyMM中的后4位,如2024年9月为2409)
      String yearMonth = java.time.LocalDate.now().format(java.time.format.DateTimeFormatter.ofPattern("yyyyMM")).substring(2);
      int prefix = Integer.parseInt(yearMonth); // 前缀:2409

       // 2. 查找当前最大的序号int maxSeq = 0;for (int i = 0; i < count; i++) {ManuscriptInformation ms = manuscripts[i];if (ms != null) {int id = ms.getId();int msPrefix = id / 10000; // 提取前缀(前4位)int msSeq = id % 10000;   // 提取序号(后4位)// 如果是同年同月的稿件,更新最大序号if (msPrefix == prefix && msSeq > maxSeq) {maxSeq = msSeq;}}}// 3. 生成新编号(前缀*10000 + 新序号)int newSeq = maxSeq + 1;if (newSeq > 9999) {System.out.println("当月稿件数量已达上限(9999篇)");return -1;}return prefix * 10000 + newSeq;
      

      } catch (Exception e) {
      return -1;
      }
      }

    /**

    • 2、审核稿件功能
      */
      public void reviewManuscript() {
      while (true) {
      // 1. 输入稿件编号
      System.out.println("");
      System.out.println("石家庄铁道大学突破24软件开发有限公司");
      System.out.println("在线投稿系统V1.0");
      System.out.println("
      ");
      System.out.print("请输入稿件编号(8位):");
      String idStr = scanner.nextLine().trim();

       // 验证编号格式if (idStr.length() != 8 || !idStr.matches("\\d+")) {System.out.println("稿件编号格式错误!请输入8位数字");continue;}int targetId = Integer.parseInt(idStr);ManuscriptInformation targetMs = findManuscriptById(targetId);// 2. 检查稿件是否存在if (targetMs == null) {System.out.println("库中没有该稿件,返回审核界面");continue;}// 3. 检查稿件状态(仅未审核可审核)if (targetMs.getStatement() != 0) {System.out.println("该稿件已审核,无需重复操作");continue;}// 4. 显示稿件信息并录入审核意见System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("稿件编号:" + targetMs.getId());System.out.println("作者姓名:" + targetMs.getName());System.out.println("作者单位:" + targetMs.getUnit());System.out.println("稿件内容:" + targetMs.getContent());System.out.print("请输入审核意见:");String opinion = scanner.nextLine().trim();System.out.print("是否通过(Y/N):");String passConfirm = scanner.nextLine().trim().toUpperCase();System.out.print("是否提交审核结果(Y/N):");String submitConfirm = scanner.nextLine().trim().toUpperCase();// 5. 处理审核结果if ("Y".equals(submitConfirm)) {// 更新审核状态if ("Y".equals(passConfirm)) {targetMs.setStatement(1); // 已通过} else if ("N".equals(passConfirm)) {targetMs.setStatement(2); // 已退回} else {System.out.println("是否通过输入无效,默认设置为已退回");targetMs.setStatement(2);}// 更新审核意见和日期targetMs.setOpinion(opinion);String reviewDate = java.time.LocalDate.now().format(java.time.format.DateTimeFormatter.BASIC_ISO_DATE);targetMs.setDate(reviewDate);System.out.println("审核结果已提交!");// 返回审核界面} else if ("N".equals(submitConfirm)) {System.out.println("已取消审核,返回系统主界面");break; // 返回主界面} else {System.out.println("输入无效,请输入Y或N");}
      

      }
      }

    /**

    • 3、查询进度功能
      */
      public void queryManuscript() {
      while (true) {
      // 1. 输入稿件编号
      System.out.println("");
      System.out.println("石家庄铁道大学突破24软件开发有限公司");
      System.out.println("在线投稿系统V1.0");
      System.out.println("
      ");
      System.out.print("请输入稿件编号(8位):");
      String idStr = scanner.nextLine().trim();

       // 验证编号格式if (idStr.length() != 8 || !idStr.matches("\\d+")) {System.out.println("稿件编号格式错误!请输入8位数字");continue;}int targetId = Integer.parseInt(idStr);ManuscriptInformation targetMs = findManuscriptById(targetId);// 2. 检查稿件是否存在if (targetMs == null) {System.out.println("库中没有该稿件,返回查询界面");continue;}// 3. 显示稿件详情System.out.println("***********************************************************");System.out.println("石家庄铁道大学突破24软件开发有限公司");System.out.println("在线投稿系统V1.0");System.out.println("***********************************************************");System.out.println("稿件编号:" + targetMs.getId());System.out.println("作者姓名:" + targetMs.getName());System.out.println("作者单位:" + targetMs.getUnit());System.out.println("稿件内容:" + targetMs.getContent());System.out.println("审核意见:" + (targetMs.getOpinion() == null || targetMs.getOpinion().isEmpty() ? "无" : targetMs.getOpinion()));// 转换状态为文字描述String statusDesc;switch (targetMs.getStatement()) {case 1:statusDesc = "已通过";break;case 2:statusDesc = "已退回";break;default:statusDesc = "未审核";}System.out.println("是否通过:" + statusDesc);// 4. 确认是否继续查询System.out.print("是否进行新查询(Y/N):");String newQuery = scanner.nextLine().trim().toUpperCase();if ("N".equals(newQuery)) {System.out.println("返回主界面");break;} else if (!"Y".equals(newQuery)) {System.out.println("输入无效,默认继续查询");}
      

      }
      }

    /**

    • 4、统计汇总功能
      */
      public void statisticsManuscript() {
      // 统计各类稿件数量
      int total = count;
      int unReviewed = 0;
      int passed = 0;
      int rejected = 0;

      for (int i = 0; i < count; i++) {
      ManuscriptInformation ms = manuscripts[i];
      if (ms != null) {
      switch (ms.getStatement()) {
      case 0:
      unReviewed++;
      break;
      case 1:
      passed++;
      break;
      case 2:
      rejected++;
      break;
      }
      }
      }

      // 显示统计结果
      System.out.println("");
      System.out.println("2023版石家庄铁道大学突破24软件开发有限公司");
      System.out.println("在线投稿系统V1.0");
      System.out.println("
      ");
      System.out.println("总投稿数:" + total + "篇");
      System.out.println("未审核:" + unReviewed + "篇");
      System.out.println("已通过:" + passed + "篇");
      System.out.println("已退回:" + rejected + "篇");
      System.out.println("***********************************************************");
      System.out.print("按回车键返回主界面...");
      scanner.nextLine(); // 等待用户按键
      }

    /**

    • 根据稿件编号查找稿件
    • @param id 稿件编号
    • @return 找到的稿件对象,未找到返回null
      */
      private ManuscriptInformation findManuscriptById(int id) {
      for (int i = 0; i < count; i++) {
      ManuscriptInformation ms = manuscripts[i];
      if (ms != null && ms.getId() == id) {
      return ms;
      }
      }
      return null;
      }

    // 稿件信息类(内部类)
    static class ManuscriptInformation {
    private int id; // 稿件编号
    private String name; // 作者姓名
    private String unit; // 作者单位
    private String content; // 稿件内容
    private int statement; // 审核状态(0-未审核,1-已通过,2-已退回)
    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 String getName() {return name;}public String getUnit() {return unit;}public String getContent() {return 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;}
    

    }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不等式3

Problem 已知数列 $ { a_n } $ 的前 $ n $ 项和为 $ S_n $,满足 $ S_{n+1} = 2a_n^ { \hspace{0.2cm} 2} - 1 + S_n (n\in N^{*})$ 。 (1)略。 (2)当 $ a_1 \in [ \frac{ \sqrt{2} } {2} ,1 ]$ 时,求 $ 4a_1-a_3 …

退役划水十二 用进废退

我完蛋了用进废退 四月桃红,五黄六月,七月流火,八月金桂,摆烂甚久,思前想后,还是决定写些文字,作为自己存活过的凭证。其实直接原因是:和:我应该没有红温,只是一分悲戚两分无语三分凉薄四分叹息。悲戚于自己…

新学期每日总结(第16天)

今日 相较昨日 下载数据库

Gin笔记二之gin.Engine和路由设置

本文首发于公众号:Hunter后端 原文链接:Gin笔记二之gin.Engine和路由设置这一篇笔记主要介绍 gin.Engine,设置路由等操作,以下是本篇笔记目录:gin.Default() 和 gin.New() HTTP 方法 路由分组与中间件1、gin.Defa…

阅读笔记一:以“刻意练习”筑牢成长根基 - 20243867孙堃2405

《程序员的修炼之路:从小工到专家》并非一本罗列技术知识点的工具书,而是一部指引开发者突破职业瓶颈的思维指南。书中最触动我的,是对“成长本质”的深刻剖析——从“小工”到“专家”,从来不是资历的自然累积,而…

flv 转化成 mp4 文件

ffmpeg -i "原视频.flv" -c copy "新视频.mp4"因为你用了 -c copy,意思是:不重新压缩/重编码(既不压音频也不压视频) 只是直接把原始音视频流复制进一个新的容器格式(从 .flv 换到 .mp4) 所…

牛客刷题-Day18

模拟、枚举与贪心 https://ac.nowcoder.com/acm/contest/20960?from=acdiscuss牛客刷题-Day18 今日刷题:\(1001-1010\) 1001 模拟 例1-字符串展开解题思路 模拟,注意细节就可以。 C++ 代码 #include <bits/stdc…

网络连接的核心——TCP/IP体系结构

网络连接的核心——TCP/IP体系结构一、网络连接的核心 前言:局域网作为互联网的核心,但是不同的局域网之间采用的是不同的技术(传输介质、介质控制方法、程真方法等)通过利用IP协议将这些网络从用户层面看起来是一…

C++练习-函数

double dist( double x1, double y1, double x2, double y2 ){double Dx,Dy;Dx=fabs(x1-x2);Dy=fabs(y1-y2);double dis;dis=sqrt(pow(Dx,2)+pow(Dy,2));return dis; }int sign( int x ){int res;if(x>0){res=1;}el…

使用 Java 解析验证码:结合 Tesseract OCR 进行文本识别

更多内容访问ttocr.com或联系1436423940环境准备 1.1 安装 Java如果尚未安装 Java,可前往 Oracle 官方网站 或 Adoptium 下载最新版本的 JDK。安装完成后,运行以下命令检查版本: java -version 1.2 安装 Tesseract …

代码大全2阅读笔记(2)

一、开篇:别让 “基础模块” 拖垮整体质量 读《代码大全 2》到编码实践章节时,最深刻的感受是:高质量代码不是靠 “高深技巧” 堆出来的,而是把 “变量、函数、控制结构” 这些基础模块做到极致。很多时候我们写的…

使用 Swift 进行验证码识别:集成 Tesseract OCR

环境准备 1.1 安装 Tesseract OCR 更多内容访问ttocr.com或联系1436423940 在 macOS 上可以使用 Homebrew 进行安装:brew install tesseract 安装完成后,检查 Tesseract 是否安装成功: tesseract --version 1.2 创建…

使用 Rust 进行验证码识别:结合 Tesseract OCR 进行文本解析

环境准备 1.1 安装 Rust如果尚未安装 Rust,可使用 Rust 官方安装工具 :更多内容访问ttocr.com或联系1436423940 curl --proto =https --tlsv1.2 -sSf https://sh.rustup.rs | sh 安装完成后,检查 Rust 版本: rustc…

软件技术基本第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/25rjjc这个作业的目标 实现文本计数统计姓名-学号 冯艳-2023329301103码云仓库地址:https://gitee.com/f2196470648/word-counter.git

Day7CSS的引入方式与选择器

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">…

ZR-J 2025-10-29 比赛总结

比赛链接 分数:\(100 + 100 + 0 + 0 = 200\) 永康喵喵又没有翻车! 有了前几次翻车的教训,我形成了先写注释(对于难题)\(\rightarrow\) 仔细写题 \(\rightarrow\) 静态检查 \(\rightarrow\) 动态检查 \(\rightarro…

newDay17

1.背了背单词,把u校园作业弄了,其他的没啥 2.明天看看Java那个期中考试怎么弄 3.最近有点摆

AI元人文架构:从价值计算到智能主体的演进路径

AI元人文架构:从价值计算到智能主体的演进路径 摘要: 本文系统阐述了基于Free Transformer潜变量Z的AI元人文架构,通过构建三值纠缠模型与语境主权机制,建立多层次价值博弈体系。研究提出价值递归架构和情感维度建…

三元组 - MKT

三元组 [62] B. Jiang, Y. Zhu, and M. Liu, “A triangle feature based map-tomap matching and loop closure for 2d graph slam,” in Proc. of the International Conference on Robotics and Biomimetics (ROBIO…

《代码大全2》观后感-理论与现实的桥梁

大二的课程表里,充满了《数据结构》、《统一建模语言》、《工程实训》等课程。我们学到了“链表”、“多态”、“软件生命周期”这些概念。它们很重要,但总感觉有些抽象,像飘在空中的云。而《代码大全2》,就是那股…