矢量计算与输出不匹配

时间:2016-05-03 00:39:55

标签: java arrays

我构建一个Vector类,其中一个方法包括设置一个向量序列,用户在其中指定起始编号和步骤,向量打印序列。但是,当我运行程序时,它会将值默认设置为0并且不执行该步骤。

public static Vector sequence(int length, long start, long step) {

    /*
        TODO

        length 1, start 1, step 1  => [1]
        length 2, start 2, step 2  => [2 4]
        length 3, start 3, step 3  => [3 6 9]
        length 4, start 4, step 4  => [4 8 12 16]
        length 5, start 5, step -1 => [5 4 3 2 1]
    */

    Vector vector = new Vector(length);

    for (int i = 0; i < length; i++) {
        start += start + step;
    }

    return new Vector(length);
}

请帮我这个代码。

2 个答案:

答案 0 :(得分:1)

  • 将计算出的值添加到矢量元素中。设置容量并不意味着要生成元素,因此set将不起作用。
  • 公式错了。
  • 您必须返回设置了值的向量,而不是新创建的向量。

更正后的代码:

public static Vector sequence(int length, long start, long step) {

    Vector vector = new Vector(length);

    for (int i = 0; i < length; i++) {
        vector.add(start + step * i);
    }

    return vector;
}

答案 1 :(得分:1)

Vector vector = new Vector(length);

    for (int i = 0; i < length; i++) {
        vector.add(start += start + step);
    }

    return vector;

我没有改变你的程序的公式,因为你希望知道你在做什么。回答你的问题在于向vector添加元素并返回它。