-1

我有一个方法 studentSummary,它扫描输入并创建三个数组examMark、courseworkMark 和 courseworkWeight。我需要将这些数组传递给不同的方法,因此我可以使用它们来计算 moduleResult。

这是我的代码:

public static int[] studentSummary(int[] courseworkWeight2, int [] examMark2 , int [] courseworkMark2){

    int examMark[] = { 0, 0, 0, 0, 0, 0 };
    int courseworkMark[] = { 0, 0, 0, 0, 0, 0 };
    Scanner resultInput = new Scanner(System.in);
    int courseworkWeight[] = { 0, 0, 0, 0, 0, 0 };

    for (int k = 1; k < 7; k++) {
        System.out.print("Please enter exam marks for module " + k + ":");
        examMark[k - 1] = resultInput.nextInt();

        System.out.print("Please enter Coursework marks for module " + k
                + ":");
        courseworkMark[k - 1] = resultInput.nextInt();
        System.out.print("Please enter Coursework weighting for module "
                + k + ":");
        courseworkWeight[k - 1] = resultInput.nextInt();


    }

计算器方法:

public static int[] markCalculator() {

int[] courseworkWeight = new int [6];
int[] courseworkMark = new int [6];
int[] examMark = new int [6];

    for (int i = 0; i < 6; i++) {

        computedModuleMark = ((courseworkMark[i] * courseworkWeight[i]) + (examMark[i] * (100 - courseworkWeight[i]))) / 100;


        if ((computedModuleMark) < 35) {
            if (examMark[i]<35){

            }
        }

        moduleMark[i] = computedModuleMark;

    }


    computeResult(moduleMark);
    StudentChart.draw(moduleMark);
    StudentChart.printSummary(moduleMark);
    return moduleMark;

}
4

2 回答 2

0
  1. 从方法中替换markCalculator()markCalculator(int[] courseworkWeight, int [] examMark , int [] courseworkMark)删除这些变量的声明。

  2. 呼入markCalculator(courseworkWeight, examMark, courseworkMark)_studentSummary()

我猜是 studentSummary 不应该接受任何争论。是不是通过交换这些方法的签名,您的复制粘贴出错了?

另一种可能性是您的源将这些数组作为全局变量(在方法之外,在同一个文件中),并且两种方法都没有参数 - 方法()。

于 2013-11-07T21:52:30.463 回答
0

您可以:

1. 将数组声明为类字段并调用函数
markCalculator(int[] courseworkWeight2, int [] examMark2 , int [] courseworkMark2)
2.markCalculator(courseworkWeight, examMark, courseworkMark)从 studentSummary()调用
3. 从函数 studentSummary(...) 以列表形式返回它们

List<Object> list = new ArrayList<>().addAll(courseworkWeight2,examMark2,courseworkMark2);

并通过调用传递列表markCalculator(List<Object>);

于 2013-11-07T21:59:23.130 回答