构建一个在java中读取和打印部分填充数组的方法

时间:2013-12-12 14:50:44

标签: java arrays methods build

作为我程序的一部分,我需要构建一个方法,只读取和打印数组的填充槽,无论它们在何处。我的意思是,如果有一个数组长度为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;

 }

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

3 个答案:

答案 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;}