我想学代码

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

自己取一个大气又可爱的标题

张主强211606391 危利211606380

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 500 1350
• Estimate • 估计这个任务需要多少时间 700 1100
Development 开发 460 700
• Analysis • 需求分析 (包括学习新技术) 40 60
• Design Spec • 生成设计文档 30 50
• Design Review • 设计复审 40 65
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 40 70
• Design • 具体设计 650 700
• Coding • 具体编码 700 800
• Code Review • 代码复审 60 90
• Test • 测试(自我测试,修改代码,提交修改) 80 120
Reporting 报告 30 40
• Test Repor • 测试报告 60 80
• Size Measurement • 计算工作量 20 40
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 40 55
合计 1350

二、需求分析

我通过百度查资料的方式了解到,小学3年级数学有如下的几个特点:

  • 特点1
    加减乘除混合运算
  • 特点2
    -九九乘法表内的乘除

经过分析,我认为,这个程序应当:

在作业一上新增带括号的四则混合运算。

三、设计

1. 设计思路

-判断输入的题目数量和年级数字是否符合规范
-随机数的生成
-调用函数实现不同年级不同随机题目生成
-把运算符存进数组中
-打印结果及output.txt上

2. 实现方案

写出具体实现的步骤

  • 准备工作:先在Github上创建仓库,克隆到本地,让队友FOK我的仓库
    -技术关键点:输出至txt,还有加入四则混合运算。

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程
我先创建文件,然后通过创建数组的方式把变量设置好,然后用byte[] m = e.getBytes(); 以及in.write(m);的比特流的方式输出TXT文件

1. 调试日志

记录编码调试的日志,请记录下开发过程中的 debug 历程

  • 在弄混合运算的时候没有注意优先级的使用导致运行有问题

2. 关键代码

private static void jiajian(int count[]) throws IOException {
	File file =new File("out.txt");
	 FileWriter fw = new FileWriter(file);
	 BufferedWriter bw = new BufferedWriter(fw);
	int [] as = new int[count[0]+5];
	int [] bs = new int[count[0]+5];
	char [] cs = new char[count[0]+5];
	int [] ds = new int[count[0]+5];
	
	for(int i =1;i<=count[0];i++) {				//n循环,有n道题
		int a=(int)(Math.random()*100+1);   //随机生成100以内的数字
		as[i] = a;							//把a存入数组
		//bw.write(String.valueOf(a));		//向文本输入a值  

					
        int c=(int)(Math.random()*100+1);	//判断符号并且存入
        {
        	if(c%2==1) {
        		//bw.write(String.valueOf("-"));
        		cs[i] = '-';
        	}
        	else  {
        		//bw.write(String.valueOf("+"));
        		cs[i] = '+';
        		}
        }
        
        
        int b=(int)(Math.random()*100+1);	//b值
        //bw.write(String.valueOf(b));
        bs[i] = b;
        
        if(c%2==1 && a<b) {
        	int answer = a+b;
        	cs[i]='+';
        	ds[i]=answer;
        }
        
        else if(c%2==1 ) {
        	int answer = a-b;
        	ds[i] = answer;
        	//System.out.print("("+i+")"+a+"-"+b+"="+answer+"\n");
        	//bw.write(String.valueOf("="+answer));
        	//bw.newLine();
        }
        else {
        	int answer =a+b;
        	ds[i] = answer;
        //	System.out.print("("+i+")"+a+"+"+b+"="+answer+"\n");
        //	bw.write(String.valueOf("="+answer));
        //	bw.newLine();
        }
	}

	
			
	for(int i=1;i<=count[0];i++) {
		System.out.print(as[i]);
		bw.write(String.valueOf(as[i]));	
		System.out.print(cs[i]);
		bw.write(String.valueOf(cs[i]));	
		System.out.println(bs[i]);
		bw.write(String.valueOf(bs[i]));
		bw.newLine();
	
System.out.println("-------------标准答案--------------");
	bw.write(String.valueOf("-------------标准答案--------------"));
	bw.newLine();
	
	
	for( i=1;i<=count[0];i++) {
		System.out.print(as[i]);
		bw.write(String.valueOf(as[i]));
		System.out.print(cs[i]);
		bw.write(String.valueOf(cs[i]));
		System.out.print(bs[i]);
		bw.write(String.valueOf(bs[i]));
		System.out.println("="+ds[i]);
		bw.write(String.valueOf("="+ds[i]));
		bw.newLine();
	
	bw.close();
	fw.close();
	}
	}
}

3. 代码规范

请给出本次实验使用的代码规范:

手动处理异常,不抛出。

合理利用开辟的空间
进行适当合理的代码注释,方便理解,修正

代码中不能使用拼音与英文混合的方式,更不允许直接使用中文的方式。

并自己检查代码是否符合规范

五、测试

请思考并记录你认为必要的测试点,并记录测试用例与测试结果

代码没添加混合运算还可以运行,弄完到最后运行不出来了....

六、总结

请总结过程中的教训和经验,思考
我在其中感觉到这次作业增加的难度还是对于我来说真的写不了,没有思绪,直到百度了解许多东西还有记起了以前老师教过的东西,才逐渐搞出点东西,感觉自己还需要多理解代码意义还有多实践去打代码,欠缺太多敲代码的过程了。

posted on 2018-09-18 21:39  我想学代码  阅读(151)  评论(1编辑  收藏  举报