无法找到为什么我的数组在类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;
}
}
答案 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;
}