【无标题】

该作业涉及从JSON文件中读取和解析澳大利亚网球公开赛的数据,实现统计赛事的控制台程序。文章介绍了使用FileReader和JSONObject进行文件读取和解析的方法,以及性能优化、单元测试和异常处理的策略。作者还分享了个人学习体会,包括软件工程的理解和代码规范的重要性。
摘要由CSDN通过智能技术生成
这个作业属于哪个课程https://bbs.csdn.net/forums/ssynkqtd-01
这个作业要求在哪里https://bbs.csdn.net/topics/613513116
这个作业的目标完成对澳大利亚网球公开赛相关数据的收集,并实现一个能够对赛事数据进行统计的控制台程序
其他参考文献CSDN



GitCode项目地址

https://gitcode.net/m0_61730655/project-java


## PSP表格
PSPPersonal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3040
• Estimate• 估计这个任务需要多少时间11001185
Development开发10201095
• Analysis• 需求分析 (包括学习新技术)120130
• Design Spec• 生成设计文档2020
• Design Review• 设计复审2020
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)1010
• Design• 具体设计90100
Coding• 具体编码560600
• Code Review• 代码复审140145
• Test• 测试(自我测试,修改代码,提交修改)6070
Reporting报告5050
• Test Repor• 测试报告2020
• Size Measurement• 计算工作量1010
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划2020
合计11001185




解题思路描述

问题1:怎么读取JSON文件

用FileReader和StringBuffer读取JSON文件


问题2:怎么解析JSON文件

用JSONObject和JSONArray进行解析,根据JSON文件逐层解析出需要的内容,最后汇总输出



关键代码展示

FileReader fileReader = new FileReader(file); 
			Reader reader = new InputStreamReader(new FileInputStream(file), "Utf-8");
			int ch = 0;
			StringBuffer sb = new StringBuffer();
			while ((ch = reader.read()) != -1) {
				sb.append((char) ch);
	        }
			fileReader.close();
			reader.close();
        	String jsonStr = sb.toString();
        	return jsonStr;
JSONObject parse = (JSONObject)JSONObject.parseObject(json);
			JSONArray players=parse.getJSONArray("players");
			for(Object player:players) {
				JSONObject jsonObject=(JSONObject)player;
				String full_name=jsonObject.getString("full_name");
				String gender=jsonObject.getString("gender");
				String nationality=jsonObject.getString("nationality");
				filewriter.write("full_name:"+full_name+"\r\n"+"gender:"+gender+"\r\n"
				+"nationality:"+nationality+"\r\n"+"-----"+"\r\n");
			}

性能改进


  • 格式化输出结果
  • 接口封装

单元测试


  • input.txt

p
players
result 0116


  • output.txt

输入错误

full_name:Radu Albot
gender:male
nationality:Moldova

time:1:34
winner:M. Sakkari
score:1:6|4:6


异常处理


在输入错误,找不到文件等情况时发现异常并输出提示,使用try,catch语句处理异常


心得体会


在本次作业的过程中我学会了如何更科学的处理问题,包括如何思考,如何写计划等方面。同时也对软件工程有了更加深刻的了解。同时也意识到了自己代码规范上的不足,这些问题都将提醒我在以后的学习工作中要更加仔细,更加完善自己。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值