java程序设计与实践教程的一道题,该怎样解决数组输入未知个数的问题

你应该请个同学,坐在计算机旁边跟你讨论一下。一般这种阶段我们都鼓励学生结组编程,有个好处就是可以平滑的处理低级错误。对学生和施教者都是比较低成本又有实效的选择。
■网友
size 按一定规律递增。初始化为-1
■网友
……题主你需要的是ArrayList。(至于你的代码为什么错误,你可以拿支笔拿张纸,手动演示一遍代码的执行过程。大约会在第一次进入for循环的时候发现自己错在哪。)=======================突然想到可能你们是刚开始学,还没学到ArrayList?那么就还是老老实实按我括号里说的,把程序的错误找出来,让它先正确执行。如果愿意的话重新设计一下。你现在的思路是每增加一个数,就重新建立一个长度加1的新数组。想一想有没有更有效率的办法。
■网友
把求最大值和最小值的语句的等号右边互换一下
■网友
这个可以看看ArrayList的源码实现,基本原理就是设定一个初始数组长度,每次超出长度就新增一个更大的数组,一般就是两倍,将原先数组数据拷贝到新数组,使用新数组继续填充数据。代码是长度设定有问题,n++;写死了数组长度为1,参考上面说的改改。另外运行是能运行,不知道你输入输出是什么情况,是否环境问题?
■网友
int max=Integer.MIN_VALUE;int min = Integer.MAX_VALUE;这两个是否有问题?然后,输入负数终止这个条件没形成循环,只是做了判断,没满足题目。


    推荐阅读