我在编译这个java代码时遇到两个错误

时间:2016-05-12 17:37:46

标签: java

所以我得到了这两个错误。我该如何解决?还有一件事,任何人都可以给我变量c的短代码。

 double bucky[]= {7.8,5.9,4.1};
    double test[]= {0,0,0};

    for(int counter=0;counter<bucky.length;counter++){
        double c=(12-(test[0]*bucky[0]+test[1]*bucky[1]+test[2]*bucky[2]))/bucky[counter];

        int x= (int) c;
        test[counter]=x;
        System.out.println(test[counter]);

    }

        double summation=test[0]*bucky[0]+test[1]*bucky[1]+test[2]*bucky[2];

        double loss=12-summation;
       System.out.println("Loss is "+ loss);

int level=2;
if(test[level]>0){
    for(int jass=0;jass<(1-level);jass++){
        double test2[];
        double test2[jass]=test[jass];
        System.out.println("level after "+ test2[jass]);
    }

}
 else{
        System.out.println("not less");
    }

enter image description here

仍然没有任何事情发生循环不起作用。      double bucky [] = {50,40,30,20};         double test [] = {0,0,0,0};

    for(int counter=0;counter<bucky.length;counter++){
        double c=(130-(test[0]*bucky[0]+test[1]*bucky[1]+test[2]*bucky[2]+test[3]*bucky[3]))/bucky[counter];

        int x= (int) c;
        test[counter]=x;
        System.out.println(test[counter]);

    }

        double summation=test[0]*bucky[0]+test[1]*bucky[1]+test[2]*bucky[2]+test[3]*bucky[3];

        double loss=130-summation;
       System.out.println("Loss is "+ loss);

int level=2;
if(test[level]>0){
    double test2[] = new double[test.length];
    for(int jass=0;jass<(1-level);jass++){

         test2[jass]=test[jass];
        System.out.println("level after "+ test2[jass]);
    }

}
 else{
        System.out.println("not less");
    }

1 个答案:

答案 0 :(得分:1)

声明和使用数组的语法类似于:

double[] test2 = new double[someLengthValue];
test2[someIndex] = someValue;

但是真的,整件事情都没有实际意义。在循环中,每次迭代时重新声明一个新数组,并尝试在该数组中设置单个值。然后你要做的就是打印这个值。您根本不需要该数组:

for(int jass=0;jass<(1-level);jass++){
    System.out.println("level after "+ test[jass]);
}