2012-04-13 17 views
0

Im letzten Teil eines Projekts, das ich für die Schule mache, soll ich eine if-else Anweisung innerhalb einer for Schleife verwenden, aber ich habe keine Idee, wie man das macht. Ich könnte einfach eine große Menge von if-else Aussagen verwenden, um das gleiche zu tun, aber ich denke nicht, dass mein Lehrer es schätzen würde.wenn sonst Anweisung innerhalb einer for-Schleife?

Hier sind die Anweisungen für den letzten Teil der Hausaufgaben ...

Berechne die Grade (A, B, C, D oder F) und Speichern in einem anderen Array8 genannt Qualitäten if-else Verwendung Schleife und der folgende Cutoff innerhalb einer For-Schleife zu Noten zuweisen.

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

Das bisher mein 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 
     } 
    } 
} 
+1

Gerade FYI 'if/else' ist keine Schleife ... –

+1

ich nur ein unwissender Programmierer bin, aber was ist ein„ wenn sonst Schleife“? –

+0

@HotLicks Ich nehme an die OP/Zuweisung bedeutet 'if/else' Aussage –

Antwort

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'; 
} 
7

if/else ist keine Schleife. Wenn Sie eine if/else-Anweisung in einer for Schleife verwenden müssen, tun Sie es einfach:

for(int i = 0; i < Array8.length; i++) { 
    if(...) { 
     ... 
    } else { 
     ... 
    } 
} 
+0

werden Sie wahrscheinlich eine 'break'-Anweisung dort eingeben, um die for-Schleife zu beenden –

1

Es scheint, die Zuordnung, die Sie fragt eine if/elseKette innerhalb einer for Schleife zu schreiben.

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'; 
} 
2

Wenn sonst?

Wenn er meint, er braucht es in der Schleife, dann vermute ich, dass es eine if-Anweisung und eine else-Anweisung innerhalb der for-Schleife ist. Oder es könnte möglicherweise eine andere if-Schleife sein, ziemlich genau das Gleiche, außer dass der else zusätzliche Bedingungen hat. Etwas wie folgt aus:

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"); 
    } 
} 
Verwandte Themen