如何使构造函数初始化为全0?

时间:2014-02-23 03:23:24

标签: java arrays constructor

我是Java新手并试图解决这个问题。

我的NVector类应该以数组double v [n]存储数字。 构造函数采用维度n并将所有元素设置为0:NVector(int n)

以下是我的内容,我收到错误

public class NVector
{

double[] v;

NVector(int n)
{
    this = new double[n];//Error: double cannot be converted to NVector
    for(int i = 0; i<n; i++)
    {
        v[i] = 0;

    }
}

我试过了:

v = new double[n];

但那个剂量也可以。任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:6)

你需要

this.v = new double[n];

this指当前对象,你想要当前对象的v this.v

答案 1 :(得分:1)

this.v = new double[n];应该有效。

this表示NVector类的当前实例。您无法将double数组分配给NVector类的任何实例。

答案 2 :(得分:0)

这应该服务

public class NVector
{

Vector<Double> v = new Vector<Double>();

public Vector<Double> NVector(int n)
{

    for(int i = 0; i<n; i++)
    {
        v.add(i);

    }
    return v;

}