Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建和测试向量的语法是什么样的?[级别:新手]_Java_Arrays_Vector - Fatal编程技术网

Java 创建和测试向量的语法是什么样的?[级别:新手]

Java 创建和测试向量的语法是什么样的?[级别:新手],java,arrays,vector,Java,Arrays,Vector,我正在学习Java,希望创建一个向量类来理解异常和数组。在我的例子中,我首先使用双数组 我为我的类实现了两个构造函数。一个用于长度,一个用于数组 可变长度包含向量的长度 实现Get()和set()是为了读取或更改值 实现了Minimum()、maxium()和average()以获取数组的所需值 toString()应将向量打印为字符串 到目前为止我的代码 public class MyVector { //lenght of the vector public final i

我正在学习Java,希望创建一个向量类来理解异常和数组。在我的例子中,我首先使用双数组

我为我的类实现了两个构造函数。一个用于长度,一个用于数组

可变长度包含向量的长度

实现Get()和set()是为了读取或更改值

实现了Minimum()、maxium()和average()以获取数组的所需值

toString()应将向量打印为字符串

到目前为止我的代码

public class MyVector {

    //lenght of the vector
    public final int l;

    //array representing the vector
    private double[] arr;


    // Constructs vector.
    public MyVector(int l) {
        this.l = l;
        arr = new double[l];
    }

    // Constructs  vector from  existing array
    public MyVector(double[] array) {
        l = array.length;

        // copy]
        arr = new double[l];
        for (int i = 0; i < l; i++)
            arr[i] = array[i];
    }


    //gets value at the given index.
    public double get(int index) {
        return arr[index];

    }

    // Sets  value at the given index.
    public double set(int index, double value) {

    }


    // Returns the minimal value in the vector.
    public double minimum() {
        double minimum = get(0);

        for (int i=1; i<arr.l; i++)
            if (get(i)<minimum)
                minimum = get(i);

        return minimum;    }

    // Returns the maximal value in the vector.
    public double maximum() {
        double maximum = get(0);

        for (int i=1; i<arr.l; i++)
            if (get(i)>maximum)
                maximum = get(i);

        return maximum;    }

    // the average of all values in the vector
    public double average() {
        double sum = 0;

        for (int i=0; i<arr.l; i++)
            sum += get(i);  
        return sum/arr.l;
    }


    @Override
    public String toString() {
        return "[arr=" + arr.l
                + " min=" + min()
                + " max=" + maximum()
                + " avg=" + average();
    }
}
公共类MyVector{
//向量长度
公共最终国际会议;
//表示向量的数组
私人双[]arr;
//构造向量。
公共MyVector(int l){
这个。l=l;
arr=新的双精度[l];
}
//从现有数组构造向量
公共MyVector(双[]数组){
l=数组长度;
//副本]
arr=新的双精度[l];
对于(int i=0;i对于(inti=1;i,您在回复Mureinik的评论中所写的语句是可行的,但不清楚它们会给您带来什么,除了一系列长度不同的向量

如果您在问题中陈述了这个目标,您可以通过简单地创建一个测试类,其中包含一组测试方法和一个运行所有测试方法的
main
方法,以一种相当基本的方式开始测试。例如,其中一个可能是:

public boolean testAverage(Vector v, double expected) {
  double computed = v.average();
  boolean passed = expected == computed;
  if (!passed) {
    System.err.printf("Incorrect average for %s; expected %f, got %f\n",
      v, expected, computed);
  }
  return passed;
}

在某种程度上,你会想了解JUnit,你可以通过搜索找到很多关于JUnit的教程。它是一个为Java类编写测试的完整框架。但是对于一个自诩为新手的人来说,在你对该语言更加熟悉之前,它可能需要承担很多工作。因为你有动力编写测试,这是值得称赞的你是在问如何创建一个
MyVector
的实例吗?我不确定。我只是想创建一个向量数组,但我不明白它是如何工作的。是否有类似于vector[]v;v=new vector[5];v[0]=new vector(2);v[1]=new vector(5);v[2]=new vector(6);v[3]=新向量(4);v[4]=新向量(9)?我感兴趣的是查找数组的最高值,以及最低值和平均值。通常是查找、JUnit和Java集合。您不需要单独存储数组长度。在Java中,您只需执行arr.length即可获得它,就像在本代码中的某些地方一样。我只想测试我的方法。下面是一个结果应该是什么样的示例:。我想要一个具有以下值的向量:2.0、5.0、6.0、4.0和8.0。向量数组的最小值为2.0,最大值为8.0,平均值为5.0。如何创建该数组并打印方法的测试结果?嗨,也许我应该更具体一些。我想要一个向量使用以下值:2.0、5.0、6.0、4.0和8.0。向量数组的最小值为2.0,最大值为8.0,平均值为5.0。我知道这不是向量的常用用法,但我想了解数组。在我的向量类工作后,我考虑实现一个矩阵类。感谢您的回答和指导他在胡闹。