数组平均计算

时间:2014-12-08 17:44:53

标签: java arrays

无法找到为什么我的数组在类aint工作。不确定静态是否与问题有关。我收到很多错误,但我认为主要的错误是#34;无法对非静态字段进行静态引用"

MAIN:

public class Arajmain {
public static void main (String[]args){

    System.out.println(Araj.genomsnittet());


}
}

CLASS

public class Araj {

double [] rej = new double[3];
public static double genomsnitt;

rej[0] = 4;
rej[1] = 7;
rej[2] = 9;

public static double genomsnittet(){
    genomsnitt = (rej[0] + rej[1] + rej[2])/3;
    return genomsnitt;
}   
}

3 个答案:

答案 0 :(得分:0)

public class Araj {
  private static double [] rej = new double[3];
  static {
    rej[0] = 4;
    rej[1] = 7;
    rej[2] = 9;
  }
  public static double genomsnittet(){
    double genomsnitt = (rej[0] + rej[1] + rej[2])/3;
    return genomsnitt;
  }   
}

虽然这是一些丑陋的代码。你一定要看一下关于Java和OOP的教程。

答案 1 :(得分:0)

static修饰符添加到reg

static double [] rej = new double[3];

此外,您可以使用静态初始化块初始化它:

static {
   rej[0] = 4;
   rej[1] = 7;
   rej[2] = 9;
}

或者使用更简洁的数组文字:

static double [] rej = new double[]{4, 7, 9};

答案 2 :(得分:-1)

这是非常可怕的代码,无论如何要使它工作你应该将“rej”声明为静态。

编辑:正如已经建议的那样,你也应该正确地将其正式化:

static {
   rej[0] = 4;
   rej[1] = 7;
   rej[2] = 9;
}