2014-12-14 3 views
0

나는 프로젝트에서 일하고있다. 메뉴를 가지고 있는데, 나는 (할 때, 전환하고 사용한다) 메인 메뉴에는 서브 메뉴가있다.메뉴의 중첩 된 루프

문제는 서브 메뉴가 메인 메뉴로 복귀하지 흡입량

내 일

case 4 : 
    do { 
     int cho = in.nextInt(); 

     switch (cho) { 

      case 1 : break; 
      case 2 : break; 
      case 3 : break; 
      case 4: break; // i want this to return back to main menu 
     } // switch main 

    } while (choice !=4) ;// end sub 

break; 

사용자 4 (부 메뉴)를 들어가 그

+1

'break' 중단합니다. 루프를 빠져 나오기 위해서'choice'를 4로 설정하십시오. 아마도 당신은'choice' 대신에'cho'를 원할 것입니다. –

답변

0

반환 대신 루프 서브 메뉴를 계속하면 switch의 break 문은 스위치에서 벗어납니다. 왜이 스위치가 있는지조차 모르겠습니다. choice은 결코 do...while 안에 건드리지 않으므로 결코 깨지지 않습니다. 나는 cho 대신 choicein.nextInt()으로 설정하는 것이 해결책이라고 생각합니다.

1

사용 cho 대신 choice 다음`switch` 아닌`... 할 while` 루프 밖으로

do { 
    int cho = in.nextInt(); 

    switch (cho) { 
     case 1 : break; 
     case 2 : break; 
     case 3 : break; 
     case 4: break; // i want this to return back to main menu 
    } // switch main 
} while (cho!=4) // Use cho instead choice