Вопрос по java, if-statement – оператор if внутри цикла for?

0

В заключительной части проекта, который я делаю для школы, я должен использоватьif-else заявление внутриfor цикл, но я понятия не имею, как это сделать. Я мог бы просто использовать огромное количествоif-else заявления, чтобы сделать то же самое, но я не думаю, что мой учитель был бы признателен за это.

Вот инструкции для финальной части домашнего задания ...

Compute the Grade (A, B, C, D or F) and store in another Array8 called grades using if-else loop and the following cutoff inside a for-loop to assign grades.

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

Это мой код до сих пор ...

<code>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
        } 
    }
}
</code>
@HotLicks Я предполагаю, что OP / назначение означаетif/else заявление Chris Thompson
Просто к вашему сведениюif/else это не петля ... Chris Thompson
Я думаю, что писатель присваивания использовал «цикл» когда они имели в виду «цепь»:if ... else if ... else if ... else if ... else. David Harkness
Я просто невежественный программист, но что такое "если еще цикл"? Hot Licks
@SanctusSecretum Вы не должны оставаться в этой школе тогда ... talnicolas

Ваш Ответ

4   ответа
7

if/else это не петля. Если вы должны использоватьif/else заявление вfor цикл, просто сделай это:

    if(...) {
        ...
    } else {
        ...
    }
}
Error: User Rate Limit ExceededbreakError: User Rate Limit Exceeded
2

Если он имеет в виду, что он нуждается в этом в цикле, тогда я предполагаю, что это оператор if и оператор else внутри цикла for. Или это может быть цикл 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");
    }
}
1

if/else chain внутри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';
}
1
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';
}

Похожие вопросы