0

2 つの配列があり、各配列には 6 つの異なる double の数値が含まれています。各要素から平均を取得するために、両方の配列が追加されます。次に、6 つの平均値が生成されます (配列 A と配列 B の各要素が加算されてから除算されます)。計算された 6 つの平均値を加算し、これらの平均値を加算して 6 で除算した結果を取得する必要があります。(人々を混乱させて申し訳ありません)私はそれを開始する方法がわかりません。これは私のコードです

public static void main (String [] args)
{
    double examMarks [] = {50,40,60,80,70,11};
    double courseworkmarks [] = {65,49,58,77,35,40};
    System.out.println ("These are the exam marks and the course work    marks");//First row is the exam marks, second row is the course work marks
    computeMarks (examMarks);
    computeMarks1 (courseworkmarks);
    computeResults(examMarks, courseworkmarks);
}

public static void computeMarks(double[] examMarks)
{
    for (int row=0;row<examMarks.length;row++){
        System.out.print (examMarks[row] +"\t");
    }
    System.out.println();
}
public static void computeMarks1(double[] courseworkmarks)
{
    for (int row=0;row<courseworkmarks.length;row++){
        System.out.print (courseworkmarks[row] +"\t");
    }
    System.out.println();
}


public static void computeResults(double[] examMarks, double[] courseworkmarks)
{

        double avgMarks[] =new double[examMarks.length];
        System.out.println ("The total average of each module is ");
        for(int i=0;i<avgMarks.length;i++){
            int cwWeighting=40;
            avgMarks[i]=(examMarks[i]*(100-cwWeighting)+courseworkmarks[i]*cwWeighting)/100;

            System.out.print(avgMarks[i] + "\t" );
        }
}

これは私がこれまで試したことです:

 public static computeStageMarks()
        {
            double totalMarks;
            totalMarks = (avgMarks [])/6;
            if (totalMarks<35)
            {
                System.out.println ("Failed" + totalMarks);
            }
            if (totalMarks>=40)
            {
                System.out.println ("Passed" + totalMarks);
            }
            if (totalMarks==35)
            {
                System.out.println ("Passed by compensation" + totalMarks);
            }

しかし、うまくいきません。== はこの場合に適していますか? また、最後のメソッドから avgMark を認識する必要があります。どうすればいいですか?

4

3 に答える 3

0

avgMarks をパラメータとして関数に渡す必要があります

public static computeStageMarks(double[] avgMarks)
    {
        double totalMarks;

そして、このようにtotalMarksを計算します

        for(int i=0;i<avgMarks.length;i++)
        {
           totalMarks += avgMarks [i];
        }
        totalMarks = totalMarks/6;

そして続けます

        if (totalMarks<35)
        {
            System.out.println ("Failed" + totalMarks);
        }
        if (totalMarks>=40)
            {
                System.out.println ("Passed" + totalMarks);
            }
        if (totalMarks<40&&totalMarks>=35)
        {
            System.out.println ("Passed by compensation" + totalMarks);
        }
于 2013-11-08T07:13:39.357 に答える
0

このメソッドでを使用するavgMarksには、それをパラメーターとして渡す必要があります。

public static computeStageMarks(double[] avgMarks)

また、平均を計算するには、配列を反復処理し、合計を計算してから平均を計算する必要があります。

double totalMarks;
double sum = 0.0;
for(double avg : avgMarks ){
    sum += avg;
}
totalMarks = sum/6.0;
于 2013-11-08T07:12:29.237 に答える
0

1問目:6個の数字の平均

次のような配列を扱うことはできません。

totalMarks = (avgMarks [])/6;

あなたがしなければならないことは

double totalMarks = 0;

次に、配列を反復処理し、すべてのスコアを に 1 つずつ追加してからtotalMarks、結果を 6 で割ります。

2 番目の質問: 最後のメソッドの結果を処理する方法:

たとえば、これは機能します。

private static double[] computeAverages() {
  double[] res = new double[6];
  // work with it
  return res;
}

private static void doStuff() {
  double[] averages = computeAverages();
  // now you can use it
}

3 番目の質問: double と == 演算子

それを使用しないでください。double を使用する一般的な方法は、次のように実行されます。

if (value < 35) {
  // ...
} else if (value < 40) {
  // ...
} else {
  // ...
}
于 2013-11-08T07:12:53.640 に答える