方法不返回数组的正确值.我究竟做错了什么?

dan*_*397 1 java arrays methods return

我正在尝试使用一种方法来计算直线的给定x的1和x之间的所有值的y.

我希望y的值放在一个数组中并返回到main方法.当我运行我的程序时,数组中的所有值都是0; 哪里出错了?

谢谢!

import java.util.Scanner;
public class HelloWorld {
    public static void main(String [] args)
        {
            int n=0;
            int k=0;
            int m=0;
            Scanner in = new Scanner(System.in);

            System.out.println("Value of x: ");
            n = in.nextInt();

            int line[] = new int [n];
            System.out.println("value of k: ");
            k = in.nextInt();

            System.out.println("Value of m: ");
            m = in.nextInt();

            calcLine(n,k,m);
            for(int i = 0; i < line.length; i++){ 
                System.out.println(line[i]);  
            }
        }

    public static int[] calcLine(int n, int k, int m)
    {
        int[] line = new int[n];

        for (int i=0; i<line.length;i++){
            line[i] = (int) (k * i + m);
        }

        return line;
    }
}
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 6

您的main方法具有line与您的calcLine方法填充的数组不同的数组.

您应该将方法的返回数组分配给calcLine方法的line变量main:

line = calcLine(n,k,m);
Run Code Online (Sandbox Code Playgroud)