很遗憾在Java中是没有函数可以获得数组的实际长度的。例如定义一个数组int a[ ]=new int[100],这时会默认每个元素都是0,使用a.length得到的数组长度是100,如果用户输入的数据没有100个,那么后面的元素就都是0,但是这时候就会产生一个问题?怎么知道数组中的0到底是初始化的0,还是用户本身就输入了0呢?
这里推荐一种办法(笨方法):就是用户在输入的时候,在输入的最后一个元素之后,再输入一个“有识别性的数字”。例如,
int a[]=new int[100],只输入到第50个元素则再第51个元素时:a[50]=-100000.这样一来在后续的使用中就可以利用循环知道数组的真实长度了。
在Java中,数组长度的获取无法区分用户输入的0和初始化的0。为解决这个问题,一种方法是让用户在输入结束时添加特殊标识,例如在最后一个输入元素后插入一个特定数值(如-100000)。这样在后续处理中可以通过检查该标识来确定数组的实际使用长度。

被折叠的 条评论
为什么被折叠?



