1

これは評価された仕事ですので、ストレートな答えを出さないでください。

私のプログラムは、ユーザーの成績を計算することになっています: 「合格」、「不合格」、または「補償付き合格」。しかし、それは答えを返しません。理由がわかりません - 誰か助けてくれませんか?

public class MarkCalculator { static int[] マーク = new int[12];

//public static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) {
    Scanner kb = new Scanner(System.in);
    int weighting;
    int coursework;
    int exammark;

    System.out.println("Please enter course work weighting");
    marks[0]= kb.nextInt();

    System.out.println("Please enter course work mark");
    marks[1]= kb.nextInt();

    System.out.println("Please enter exam mark");
    marks[2]= kb.nextInt();


    MarkCalculator mc = new MarkCalculator();
    mc.computeMarks(marks);

}




public String[] computeMarks(int[] marks) {

    final int[] WEIGHTING = {55,66,55,44,33,44};
    String[] results = new String[WEIGHTING.length];
    for (int i = 0; i < marks.length / 2; i++) {

        int exam = marks[i];
        int cw = marks[i];
        int weight = WEIGHTING[i];
        int formula = ((cw + weight) + (exam * (100 - weight)) / 100);

        if (formula >= 40){
            results[i]="PASS";
        } else if ((formula < 39) && (formula > 35)){
            results[i]="COMPENSATION PASS";
        }else{
            results[i]="FAIL";

        }

    }

    return results;
}

}

4

3 に答える 3

3
final int[] WEIGHTING = {};
String[] results = new String[WEIGHTING.length];

ここに問題があります。WEIGHTING には初期サイズがありません。

于 2013-11-06T16:36:26.423 に答える