2017-07-03 18 views
0
Scanner scn =new Scanner(System.in); 
int Choice = scn.nextInt(); 

do 
{ 
// Display Menu 
System.out.println("*** MENU ***"); 
System.out.println("1. Register Member"); 
System.out.println("2. Rent Books"); 
System.out.println("3. View Member and Rental Information"); 
System.out.println("4. Exit"); 

     switch(Choice) 
     { 
      case 1 : { 
         System.out.println("M"); 
        }break; 
      case 2 : { 
         System.out.println("\n\n2. View All Students & Marks");        
        }break; 
      case 3 : { 
         System.out.println("\n\n3. Search for Student"); 
        }break; 
      case 4 : { 
         System.out.println("choice4"); 
        }break;     
      default :{ 
         System.err.println("\nInvalid Menu Option"); 
        }break; 
      }   
    }while(Choice !=4); 
    } 
} 

出力が空白になり、数字を押すと永遠にループします何度もスペースの輪郭を整えてみましたが、まだ動作しませんでしたユーザが4を選択しない限りメニューを終了させようとすると、他の選択肢が実行され、他の機能が実行されるとメニューが表示される。何らかの理由でメニューが機能しません

+0

あなたのループ_before_入力int型をした後、あなたループあなたのintは4です。しかし、あなたのループで何があなたの値を変更しなくなるまでintであるので、4でなければ、それは決してありません。4.ループをint _inside_に入力する方法を考えてみましょう。 – khelwood

+0

無関係:A)書式設定の問題 - 私たちにそのようなコードを混乱させてはいけません。B)名前は重要です - Java命名規則について読んで、それに従ってください。変数はcamelCaseに行く! – GhostCat

答えて

0

シンプル:ユーザ入力の外側にループのを入力してください。以下のような

移動スキャナ要求にループという、:

int choice; 

do { 
... print the menu 
choice = scn.nextInt(); 
switch(choice) 
} while ... 
関連する問題