数组不会取代2的倍数

时间:2015-01-21 12:22:05

标签: java arrays

我想用数组0替换数组中所有2的倍数,我觉得好像这段代码做了这个,但4,6和8在输出中保持不变。 我做了一些愚蠢的错事吗?

public static void markOfMultiples(int[]listOfNumbers, int number)
{
    for(int i = 0; i<listOfNumbers.length; i++)
    {
        if (listOfNumbers[i]%number == 0)
        {
            listOfNumbers[i] = 0;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在我的情况下,你的方法工作正常,这完全取决于你如何调用你的方法

你应该像

一样调用你的方法
public static void main(String[] args) 
{
        int num[]={2,4,6,11,13,8};
        markOfMultiples(num,2);


}

您的方法保持不变

public static void markOfMultiples(int[]listOfNumbers, int number)
    {
          for(int i = 0; i<listOfNumbers.length; i++)
        {
            if (listOfNumbers[i]%number == 0)
                {
                      listOfNumbers[i] = 0;
                }
            System.out.println(listOfNumbers[i]);//added by me to track what's going on
        }

并且工作正常!