作为程序的一部分,我需要构建一个方法,该方法将仅读取和打印阵列中已填充的插槽,无论它们在哪里。我的意思是,如果数组长度为十,并且只有array [0]和array [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;

 }


它可以工作,但它会打印整个数组,而不仅仅是打印填充的插槽。
如何使其不打印未填充的阵列插槽?

最佳答案

您将覆盖传递的countOfInts值。

您必须更改循环语句,并且在此之前,您还可以添加检查传递的countOfInts是否有效的方法(否则,很可能在传递无效的ArrayIndexOutOfBoundException >值)。

if (countOfInts >= 0 && countOfInts <= intList.length) {
   for (i = 0; i < countofInts; i++) {
       System.out.print(intList[i] + "\t ");
   }
}

07-26 01:54