寒假作业2
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 第二次作业 |
这个作业的目标 | <学习使用github 代码规范制定 需求的分析> |
作业正文 | .... |
其他参考文献 | CSDN、菜鸟教程 |
Github仓库地址
(https://github.com/keshenxi/InfectStatistic-main)
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 120 | 180 |
Estimate | 估计这个任务需要多少时间 | 900 | 720 |
Development | 开发 | 700 | 800 |
Analysis | 需求分析 (包括学习新技术) | 100 | 60 |
Design Spec | 生成设计文档 | 50 | 60 |
Design Review | 设计复审 | 10 | 10 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 60 | 45 |
Design | 具体设计 | 60 | 30 |
Coding | 具体编码 | 300 | 240 |
Code Review | 代码复审 | 20 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 240 | 200 |
Reporting | 报告 | 60 | 80 |
Test Report | 测试报告 | 30 | 30 |
Size Measurement | 计算工作量 | 30 | 45 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 110 |
合计 | 1020 | 900 |
解题思路描述
看到这个题,我都不知道要做什么,对于主题的代码,看了好久也没有头绪,直到一些大佬们开始交作业了,我才慢慢看懂了这个题目到底要求的是什么。
看了很多遍之后呢,我就慢慢有来一个想法
首先,需要一个省类,来放要记录的那些数据,以及输出。
让后就是输入命令,解析命令,输出结果。
好像就没了。
代码说明
所需要的省类
private static final int provinceNum = 32;
public static String provinces[] = {
"全国","安徽","北京","重庆","福建","甘肃","广东","广西","贵州","海南","河北","河南",
"黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西",
"陕西","上海","四川","天津","西藏","新疆","云南","浙江"
};
//省类,用于体现各种信息
public class Province
{
String provinceName;
int ip;
int sp;
int cure;
int dead;
Province(String provinceName, int ip, int sp, int cure, int dead) {
this.provinceName = provinceName;
this.ip = ip;
this.sp = sp;
this.cure = cure;
this.dead = dead;
}
命令操作
while(argv[num])
{
switch(mapListValue[argv[num]])
{
case -log:
if(argv[num+1])
{
logPath = argv[num+1];
num++;
}
break;
case -out:
if(argv[num+1])
{
outPath = argv[num+1];
num++;
}
break;
case -date:
if(argv[num+1][0] != '-')
{
date = argv[num+1];
num++;
}
break;
case -type:
while((argv[num+1]) && (argv[num+1][0] != '-'))
{
if(strcmp(argv[num+1] ,"ip") == 0 ||
strcmp(argv[num+1] ,"sp") == 0 ||
strcmp(argv[num+1] ,"cure") == 0 ||
strcmp(argv[num+1] ,"dead") == 0)
{
type.push_back(argv[num+1]);
}
else
{
cout<<"指令错误: "<<argv[num+1]<<"\n";
exit(0);
}
num++;
}
break;
case -province:
while((argv[num+1]) && (argv[num+1][0] != '-'))
{
province.push_back(GbkToUtf8(argv[num+1]));
mapProvince[GbkToUtf8(argv[num+1])].isPrint = true;
num++;
}
break;
default:
if(argv[num][0] == '-')
{
cout<<"指令错误: "<<argv[num]<<"\n";
}
break;
}
num++;
}
测试截图
代码规范链接
https://github.com/keshenxi/InfectStatistic-main/blob/master/221701211/codestyle.md
心路历程与收获
一开始就是觉得难,写的时候也觉得难,还好有大佬的肩膀可以依靠,慢慢摸着石头过河就还是能过去的
5个仓库
1.【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
(https://github.com/Snailclimb/JavaGuide)
2.一个走心的 Java Web 入门开发教程
(https://github.com/muxiao167/Heart-First-JavaWeb)
3. 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,后端同学必看,前端同学也可学习
(https://github.com/doocs/advanced-java)
4.27天成为Java大神
(https://github.com/DuGuQiuBai/Java)