0
import java.util.Scanner;

public class MarkCalculator {

    public static int[] exam_grade = new int[6];
    public static int[] coursework_grade = new int[6];
    public static int[] coursework_weight = new int[2];
    public static int[] module_points = new int[6];
    public static String[] module_grade = new String[20];

    public static void main(String[] args) {

        Scanner input = new Scanner (System.in);

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

            System.out.printf(i+". Modelue"+" Enter grade of exam:");
            exam_grade[i]=input.nextInt();

            System.out.printf(i+". Modelue"+" Enter grade of coursework:");
            coursework_grade[i]=input.nextInt(); 
        }

        for(int i = 0 ;i < 3; i++){
            System.out.println(exam_grade[i]+" "+coursework_grade[i]); 
        }

        computeMark(module_points, coursework_grade, exam_grade);

        for(int i = 0 ;i < 3; i++){
            System.out.println(module_points[i]); 
        }

        input.close();
    }

    public static int[] computeMark (int coursework_grade[], int exam_grade[], int             module_points[]){

        coursework_weight[0]= 50;
        coursework_weight[1]= 50;

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

            if (coursework_grade[i] < 35 || exam_grade[i] < 35){
                module_points[i]=((coursework_grade[i]*coursework_weight[0] +     (exam_grade[i]*(100-coursework_weight[1])))/100);
            }
        }

        return module_points;

    }

}

我想知道为什么它不返回任何值。功能 module_points 几天前工作,现在我在那里找不到任何错误。输出始终仅为 0。任何人都可以帮忙吗?谢谢。我敢打赌,这只是一些简单的事情,但在这一点上确实卡住了。我需要做的是:根据输入(coursework_grade和exam_grade)计算module_points(给出公式),将这些值存储在数组中并将这个数组返回给这个数组显示的主要方法。谢谢你们的帮助。

4

3 回答 3

0

见部分:

    if (coursework_grade[i] < 35 || exam_grade[i] < 35)
    {
      module_points[i]= ......
    }

这意味着您的所有输入必须 >= 35 否则将不会发生 module_point 数组元素的关联。

于 2013-11-13T12:53:36.777 回答
0

我猜你得到0了 除以100。声明module_points[]double[]获取分数值。

于 2013-11-13T12:49:01.640 回答
0

您正在调用该函数computeMark()而不存储返回的结果。

改变:

computeMark(module_points, coursework_grade, exam_grade);

致:[编辑]

module_points = computeMark(coursework_grade, exam_grade, module_points);
于 2013-11-13T12:49:55.327 回答