作为我程序的一部分,我需要构建一个方法,只读取和打印数组的填充槽,无论它们在何处。我的意思是,如果有一个数组长度为10并且只填充了数组[0]和数组[9],那么该方法应该读取整个数组,并且只打印填充的内容而不是中间的零。
这是方法的外观
printArray( intList, countOfInts );
这是我建立的方法:
static public int printArray( int[] intList, int countofInts)
{
for (countofInts = 0; countofInts < intList.length; countofInts++)
{
System.out.print(intList[countofInts] + "\t ");
}
return countofInts;
}
它可以工作,但它会打印整个数组,而不仅仅是填充的插槽。 如何使其不打印未填充的阵列插槽?
答案 0 :(得分:1)
添加以下条件:
if(intList[countofInts]!=0)
System.out.print(intList[countofInts] + "\t ");
现在它只打印填充的插槽,因为默认的int是0。
答案 1 :(得分:1)
您正在覆盖传递的countOfInts
值。
你必须改变你的循环语句,在此之前,你可以添加一个检查,如果传递的countOfInts
是有效的(否则,很可能会引发ArrayIndexOutOfBoundException
传递无效countOfInts
值的情况。)
if (countOfInts >= 0 && countOfInts <= intList.length) {
for (i = 0; i < countofInts; i++) {
System.out.print(intList[i] + "\t ");
}
}
答案 2 :(得分:0)
试试这个..!
>static public int printArray( int[] intList, int countofInts){
for (countofInts = 0; countofInts < intList.length; countofInts++)
{ if(intList[countofInts ]!=0)
System.out.print(intList[countofInts] + "\t ");
}
return countofInts;}