2012-04-13 3 views
0

나는 학교를 위해 일하고있는 프로젝트의 마지막 부분에서 for 루프 내에서 if-else 문을 사용하기로되어 있지만 어떻게해야할지 모르겠다. 나는 똑같은 일을하기 위해 많은 수의 if-else 문장을 사용할 수는 있지만, 선생님이 그것을 고맙게 여길 것이라고 생각하지는 않는다. 여기 for 루프 내부에 else 문이 있습니까?

이 계산은 다른 Array8의 등급 (A, B, C, D 또는 F) 및 스토어 성적 IF-다른하여 호출 ... 숙제의 마지막 부분에 대한 안내이다 루프 및 다음 루프 내에서 루프 용 을 사용하여 성적을 지정하십시오. 이것은 지금까지 내 코드입니다

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

그냥 참고로'/ 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

당신은 아마 for 루프를 빠져 나오기 위해 거기에'break' 문을 던지기를 원할 것입니다 –

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 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"); 
    } 
} 
관련 문제