3

私が学校で行っているプロジェクトの最後の部分ではif-else、ループ内でステートメントを使用することになってforいますが、これを行う方法がわかりません。膨大な数のif-elseステートメントを使用して同じことを行うこともできますが、先生がそれを喜んでくれるとは思いません。

これが宿題の最後の部分の説明です...

グレード(A、B、C、D、またはF)を計算し、if-elseループとforループ内の次のカットオフを使用してグレードと呼ばれる別のArray8に格納し、グレードを割り当てます。

1.    Average                        Grade
2.    >= 90                          A
3.    >=80 and <90                   B
4.    >=70 and <80                   C
5.    >=60 and <70                   D
6.    <60                            F

これはこれまでの私のコードです...

public class Proj5 {
    public static void main (String[] args) {
        String[] Array1= {new String("Adam"),new String("Smith"),new String("Jones"),new String("Becky"),new String("Taylor")};
        Integer[] Array2={new Integer(90),new Integer(89),new Integer(86),new Integer(76),new Integer(95)};
        Integer[] Array3={new Integer(92),new Integer(79),new Integer(85),new Integer(90),new Integer(87)};
        Integer[] Array4={new Integer(93),new Integer(80),new Integer(90),new Integer(87),new Integer(92)};
        Integer[] Array5={new Integer(90),new Integer(77),new Integer(86),new Integer(92),new Integer(89)};

        double av1 = (((Array2[0]+Array3[0]+Array4[0])/3));
        double av2 = (((Array2[1]+Array3[1]+Array4[1])/3));
        double av3 = (((Array2[2]+Array3[2]+Array4[2])/3));
        double av4 = (((Array2[3]+Array3[3]+Array4[3])/3));
        double av5 = (((Array2[4]+Array3[4]+Array4[4])/3));

        double[] Array6 = {(av1),(av2),(av3),(av4),(av5)};

        double avf1 = (av1*.30)+(Array5[0]*.7);
        double avf2 = (av2*.30)+(Array5[1]*.7);
        double avf3 = (av3*.30)+(Array5[2]*.7);
        double avf4 = (av4*.30)+(Array5[3]*.7);
        double avf5 = (av5*.30)+(Array5[4]*.7);

        double[] Array7 = {(avf1),(avf2),(avf3),(avf4),(avf5)};

        System.out.println("Report for Spring Semester 2009"+
        "\n-------------------------------------------");
        System.out.println("Name Test1 Test2 Test3 Final Average Grade");

        for (int column = 0; column<Array1.length; column++){
            System.out.printf("%s ", Array1[column]);
            System.out.printf("%s   ", Array2[column]);
            System.out.printf("%s    ", Array3[column]);
            System.out.printf("%s    ", Array4[column]);
            System.out.printf("%s    ", Array5[column]);
            System.out.printf("%s    ",  Array7[column]);
            System.out.println(); //start new line of output
        } 
    }
}
4

4 に答える 4

8

if/elseループではありません。ループでif/elseステートメントを使用する必要がある場合は、次のようにします。for

for(int i = 0; i < Array8.length; i++) {
    if(...) {
        ...
    } else {
        ...
    }
}
于 2012-04-13T20:15:46.883 に答える
4
char[] Array8 = new char[5];

for (int i = 0; i < Array8.length;i++ ) {
    if (Array6[i] >= 90)
        Array8[i] = 'A';
    else if (Array6[i] >= 80)
        Array8[i] = 'B';
    else if (Array6[i] >= 70)
        Array8[i] = 'C';
    else if (Array6[i] >= 60)
        Array8[i] = 'D';
    else
        Array8[i] = 'F';
}
于 2012-04-14T19:18:38.297 に答える
2

割り当ては、ループ内にif/else チェーンを作成するように要求しているようです。for

for (...) {
    if (average >= 90)
        grade = 'A';
    else if (average >= 80)
        grade = 'B';
    else if (average >= 70)
        grade = 'C';
    else if (average >= 60)
        grade = 'D';
    else
        grade = 'F';
}
于 2012-04-13T20:20:20.767 に答える
2

他の場合は?

彼がループ内でそれを必要としていることを意味する場合、それはforループ内のifステートメントとelseステートメントであると推測しています。または、else ifループである可能性があります。これは、elseに追加の条件があることを除いて、ほとんど同じです。このようなもの:

for(int i = 0; i < 10; i++) {
    if(i < 5) {
        System.out.println("I am smaller than five");
    }
    else /*Or perhaps if an else if, 'else if(i > 7){System.out.println('I am bigger than seven');}'*/{
        System.out.println("I am bigger than five");
    }
}
于 2012-04-13T20:20:31.577 に答える