一、需求分析
打开项目信息管理系统首页,按照编号降序排列并显示申报状态,日期的显示形式为“年-月-日”,如果申报状态不是“已审核”,则操作列提供“审核”功能,
默认下拉框申报状态为“全部”,查询全部记录,否则按选择状态输出符合条件的记录。查询后下拉框选中本次查询的状态。例如选择“已审核”,查询后页面显示所有状态为”已审核”的记录,并且下拉框选中”已审核”。
点击“审核”,跳转到审核项目的页面,申报状态的下拉框默认选中当前的申报状态,如果当前状态是“已申报”,则申报状态的下拉框中可选择项包括“已申报”,“审核中”,“已审核”,如果当前状态是“审核中”,则申报状态的下拉框中可选择项包括“审核中”。“已审核”,
点击“返回”按钮直接返回原来的申报项目列表。选择申报状态,点击“审核”按钮,审核成功或者失败都会跳转到申报项目信息列表,列表下方显示“审核成功!”或“审核失败!”的提示语句。
话不多说,直接上图
二、各个功能模块设计
1.菜单页面
public void menu() {
System.out.println("欢迎使用申报项目信息管理系统");
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.println("请选择:");
int index = input.nextInt();
switch (index) {
case 1:
case01();//添加信息
break;
case 2:
case02();//查看信息
break;
case 3:
case03();//审核信息
break;
case 4:
case04();//查询信息
break;
case 5:
System.out.println("感谢使用本系统!");
System.exit(1);
}
}
2.查看项目信息
/**
* 2.查看信息
*/
public void case02() {
System.out.println("*********项目申报列表*********");
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
getReturn();
}
3.添加项目信息
/**
* 1.添加信息
*/
public void case01() {
System.out.println("----->添加申报项目");
System.out.println("请输入申报项目名称:");
String name = input.next();
System.out.println("请输入申报开始日期:");
String date1 = input.next();
System.out.println("请输入申报结束日期:");
String date2 = input.next();
for (int i = 0; i < PNAME.length; i++) {
if (PNAME[i] == null) {
PID[i] = i+1;
PNAME[i] = name;
STARTDATE[i] = date1;
ENDDATE[i] = date2;
STATUS[i] = "已申报";
System.out.println("申报成功!");
break;
}
}
getReturn();
}
4.审核项目
/**
* 3.审核信息
*/
public void case03() {
System.out.println("--------->审核信息列表");
System.out.println("请选择要审核的项目序号:");
int indexs = input.nextInt();
boolean flag = false;
int i = 0;
for (; i < STATUS.length; i++) {
if (indexs == PID[i]) {
flag = true;
break;
}
}
if (flag) {
if (STATUS[i] == "已申报") {
System.out.println("请选择:1.审核中2.已审核3.已申报:");
int a = input.nextInt();
switch (a) {
case 1:
STATUS[i] = "审核中";
System.out.println("审核中");
break;
case 2:
STATUS[i] = "已审核";
System.out.println("审核完成");
break;
case 3:
System.out.println("已申报");
break;
default:
System.out.println("审核失败");
break;
}
case02();
}
if (STATUS[i] == "审核中") {
System.out.println("请选择:1.审核中2.已审核:");
int a = input.nextInt();
switch (a) {
case 1:
STATUS[i] = "审核中";
System.out.println("审核中");
break;
case 2:
STATUS[i] = "已审核";
System.out.println("审核完成");
break;
default:
System.out.println("审核失败");
break;
}
case02();
}
if (STATUS[i] == "已审核") {
System.out.println("该项目已经审核完成!");
}
}
case02();
}
5.查询项目
/**
* 4.查询信息
*/
public void case04() {
System.out.println("---->查询项目信息");
System.out.println("请选择查询状态:1.全部2.已审核3.已申报4.审核中");
int b = input.nextInt();
switch (b) {
case 1:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
break;
case 2:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
if (STATUS[i] == "已审核") {
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
}
break;
case 3:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
if (STATUS[i] == "已申报") {
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
}
break;
case 4:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
if (STATUS[i] == "审核中") {
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
}
break;
}
getReturn();
}
三、源代码
package com.jrzhouce1;
import java.util.Scanner;
public class Demo1 {
Scanner input = new Scanner(System.in);
int PID[] = new int[50];
String PNAME[] = new String[50];
String STARTDATE[] = new String[50];
String ENDDATE[] = new String[50];
String STATUS[] = new String[50];
/**
* 初始化信息
*/
public void init() {
PID[0] = 1;
PID[1] = 2;
PID[2] = 3;
PNAME[0] = "北京社会科学基金2011年度申报";
PNAME[1] = "国家自然科学基金2011年度申报";
PNAME[2] = "国家社会科学基金2011年度申报";
STARTDATE[0] = "2011-03-09";
STARTDATE[1] = "2010-01-09";
STARTDATE[2] = "2011-03-09";
ENDDATE[0] = "2011-09-30";
ENDDATE[1] = "2010-03-30";
ENDDATE[2] = "2011-09-30";
STATUS[0] = "已审核";
STATUS[1] = "已审核";
STATUS[2] = "已申报";
}
public static void main(String[] args) {
Demo1 shenbao = new Demo1();
shenbao.init();
shenbao.menu();
}
public void menu() {
System.out.println("欢迎使用申报项目信息管理系统");
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.println("请选择:");
int index = input.nextInt();
switch (index) {
case 1:
case01();//添加信息
break;
case 2:
case02();//查看信息
break;
case 3:
case03();//审核信息
break;
case 4:
case04();//查询信息
break;
case 5:
System.out.println("感谢使用本系统!");
System.exit(1);
}
}
/**
* 1.添加信息
*/
public void case01() {
System.out.println("----->添加申报项目");
System.out.println("请输入申报项目名称:");
String name = input.next();
System.out.println("请输入申报开始日期:");
String date1 = input.next();
System.out.println("请输入申报结束日期:");
String date2 = input.next();
for (int i = 0; i < PNAME.length; i++) {
if (PNAME[i] == null) {
PID[i] = i+1;
PNAME[i] = name;
STARTDATE[i] = date1;
ENDDATE[i] = date2;
STATUS[i] = "已申报";
System.out.println("申报成功!");
break;
}
}
getReturn();
}
/**
* 2.查看信息
*/
public void case02() {
System.out.println("*********项目申报列表*********");
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
getReturn();
}
/**
* 返回菜单页面
*/
public void getReturn() {
System.out.println("输入0返回:");
int i = input.nextInt();
if (i == 0) {
menu();
}
}
/**
* 3.审核信息
*/
public void case03() {
System.out.println("--------->审核信息列表");
System.out.println("请选择要审核的项目序号:");
int indexs = input.nextInt();
boolean flag = false;
int i = 0;
for (; i < STATUS.length; i++) {
if (indexs == PID[i]) {
flag = true;
break;
}
}
if (flag) {
if (STATUS[i] == "已申报") {
System.out.println("请选择:1.审核中2.已审核3.已申报:");
int a = input.nextInt();
switch (a) {
case 1:
STATUS[i] = "审核中";
System.out.println("审核中");
break;
case 2:
STATUS[i] = "已审核";
System.out.println("审核完成");
break;
case 3:
System.out.println("已申报");
break;
default:
System.out.println("审核失败");
break;
}
case02();
}
if (STATUS[i] == "审核中") {
System.out.println("请选择:1.审核中2.已审核:");
int a = input.nextInt();
switch (a) {
case 1:
STATUS[i] = "审核中";
System.out.println("审核中");
break;
case 2:
STATUS[i] = "已审核";
System.out.println("审核完成");
break;
default:
System.out.println("审核失败");
break;
}
case02();
}
if (STATUS[i] == "已审核") {
System.out.println("该项目已经审核完成!");
}
}
case02();
}
/**
* 4.查询信息
*/
public void case04() {
System.out.println("---->查询项目信息");
System.out.println("请选择查询状态:1.全部2.已审核3.已申报4.审核中");
int b = input.nextInt();
switch (b) {
case 1:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
break;
case 2:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
if (STATUS[i] == "已审核") {
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
}
break;
case 3:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
if (STATUS[i] == "已申报") {
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
}
break;
case 4:
System.out.println("项目编号\t\t项目名称\t\t\t\t\t\t\t申报开始日期\t\t申报结束日期\t\t申报状态");
for (int i = PNAME.length-1; i>=0; i--) {
if (PNAME[i] == null) {
continue;
}
if (STATUS[i] == "审核中") {
System.out.println(PID[i] + "\t\t\t" + PNAME[i] + "\t\t" + STARTDATE[i] + "\t\t" + ENDDATE[i] + "\t\t" + STATUS[i]);
}
}
break;
}
getReturn();
}
}
四、测试结果
1.添加信息
2.查看信息
3.审核信息
4.查询信息
五、总结
这是第一周老师布置的周测,本人完全是按照自己的理解然后翻译成代码了,不过最后所有功能都可以实现,不好的地方希望大佬指正。