2012-04-13 9 views
0

私は学校のためにやっているプロジェクトの最後の部分で、forループの中にif-elseというステートメントを使用することになっていますが、これをどうやって行うのか分かりません。私はちょうど同じことを行うif-elseステートメントの巨大な多くを使用することができますが、私は先生がそれを感謝すると思います。ここforループの中にelse文がある場合?

があれば、他の宿題の最後の部分のための命令...

計算グレード(A、B、C、DまたはF)、および別のArray8にストアが使用 グレードと呼ばれループおよびforループ内の次のカットオフ はグレードを割り当てることができます。これは、これまでの私のコードです

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 
     } 
    } 
} 
+1

だけFYI 'else'がループでない/場合... –

+1

私は無知なプログラマだけど、「もし他のループは」何ですか? –

+0

@HotLicks私はOP /割り当てが 'if/else'ステートメントを意味すると仮定しています –

答えて

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は、ループではありません。あなたはforループでif/elseステートメントを使用する必要がある場合は、それを実行します。

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

あなたはたぶんそこに 'break'文を投げてforループを終了させたいでしょう –

1

割り当てがforループ内if/elseチェーンを書くためにあなたを求めているようです。

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

他の場合は?

もし彼がループの中でそれを必要としたら、私はそれがforループの中のif文とelse文であると推測しています。あるいは、おそらくelse elseの余分な条件を除けばelse ifのループになる可能性があります。このような何か:

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"); 
    } 
} 
関連する問題