3

在我为学校做的一个项目的最后一部分,我应该if-else在循环中使用一个语句for,但我不知道该怎么做。我可以使用大量的if-else语句来做同样的事情,但我认为我的老师不会欣赏它。

这是作业最后一部分的说明...

计算成绩(A、B、C、D 或 F)并使用 if-else 循环和 for 循环内的以下截止值存储在另一个名为 Grades 的 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

如果别的?

如果他的意思是他在循环中需要它,那么我猜它是一个 if 语句和一个 for 循环内的 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 回答