20172326 2017-2018-2 《程序设计与数据结构》第7周课堂测试修改报告

20172326 《程序设计与数据结构》课堂测试修改报告

课程:《程序设计与数据结构》
班级: 1723
姓名: 康皓越
学号: 20172326
实验教师:王志强老师
测试日期:2018年4月11日
必修/选修: 必修

测试内容

命令行参数测试

要求:

从命令行传入 学号、课程的成绩,计算平均成绩,并输出。

例如:输入 java computeAverage 20172301 98 99 100
输出:2017 2301' average score is :99

测试过程

  • 分析过程 :数据需要以命令行的方式传入,主要涉及两个知识点。 1.命令行实参 2.可变长度参数
  • 编写过程
  1. 在主方法中写入可变参数命令
  2. 针对学号也需要从命令行输入,所以计算时从索引值为1出开始。同理,计算平均值除以个数时,也要将长度减一。
  3. 用for循环求出不包括学号的总和

练习当中的错误与问题

第一个问题

第一次尝试时因为没有正确理解题意,没有使用可变参数,而是之前的方法,如图:

,但是,计算结果相同,在查找资料后了解到

String ...args 是一个不定长参数。
String args[] 是一个数组作为参数。
对于接受方来说可以都当成数组来使用,
对于传递方来说,String ...args的使用要灵活的多。

同时,在查找过程中还发现了别的有趣问题就是,

public static void main(String[] args) 

public static void main(String args[])

的关系

  1. 没什么区别,在java中一般都是前面的 这样定义更能体现是字符类型的数组 后边是名称

  2. 为了项目规范,代码整洁,更是不允许使用,一律String[]args.

第二个问题

没有正确理解题意,将应当由命令行输入的学号变成了固定输入,导致出现错误。

代码运行截图


码云链接

反思,总结

  • 本次测试并不困难,只是对命令行输入实参以及可变参数的应用,但因为自己的疏忽,没有仔细的进行分析,导致错误,所以,以后的程序设计都要认真分析,发现问题多与身边同学讨论,交流。
原文地址:https://www.cnblogs.com/326477465-a/p/8879984.html