如何在java中调用方法并传递参数?

时间:2017-05-03 03:58:57

标签: java methods parameters

下面列出了代码。所以我期望输出为{2 4 6 8 10},但是,当我测试它时,结果是{1 2 3 4 5}。我现在很困惑,谁能告诉我为什么?谢谢!

public class practice{ 
    public void doubler(int[] a)
    {
        int[] b = new int[a.length];
        for(int i = 0; i< a.length; i++)
        {
            b[i] = 2*a[i];
        }
        a = b;
    }
    public static void main(String[] args) 
    {
    int[]c = {1,2,3,4,5};
        Practice w = new Practice();
        w.doubler(c);
        for(int count = 0; count<c.length; count++)
        {
            System.out.print(c[count] + " ");
        }
  }
}

3 个答案:

答案 0 :(得分:0)

因为double是无法工作的方法

int[] s=w.doubler(c);

因为它与

类似
int[] s= void; // wrong

更改方法的返回类型

public int[] doubler(int[] a) 

并在方法完成作业后立即返回数组

答案 1 :(得分:0)

我认为这对你有帮助,

public class practice{ 
    public int[] doubler(int[] a)
    {
        int[] b = new int[a.length];
        for(int i = 0; i< a.length; i++)
        {
            b[i] = 2*a[i];
        }
        return b;
    }
    public static void main(String[] args) 
    {
    int[]c = {1,2,3,4,5};
        Practice w = new Practice();
        int[] s=w.doubler(c);
        for(int count = 0; count<s.length; count++)
        {
            System.out.print(s[count] + " ");
        }
    } 
}

我是你的情况,你没有将乘法数组返回int[] s

答案 2 :(得分:0)

将方法doubler更改为:

public int[] doubler(int[] a)
    {
        int[] b = new int[a.length];
        for(int i = 0; i< a.length; i++)
        {
            b[i] = 2*a[i];
        }
        return b;
    }

这将为您提供新的数组b