2015-10-19 85 views
0

boolean test = true; //我的循环从这里开始,我希望能够在非事件被选中时循环// switch语句,我希望循环在显示错误消息后返回到case 1 。我的循环保持循环也循环错误的东西?

while (test) 

Proceed = Next.nextInt(); 
switch (Proceed) { 

    case 1:// Proceed 
     System.out.println("Please enter your 5 digit pin below."); 
     Scanner Pin = new Scanner(System.in); 
     int Pincode = Pin.nextInt(); 
     if (Pincode > 9999 && Pincode < 99999) { 
      System.out.println("1)Display Balance"); 
      System.out.println("2)Withdraw Cash"); 
      System.out.println("3)Other services"); 

     } else { 
     System.err 
        .println("Sorry,the pin you enterd was incorrect\nyour card is being ejected\nPlease wait..."); 
     } 
     test=false; 
     break; 

    case 2:// Return Card 
     System.err.println("Your card is being ejected.\n Please Wait.."); 
     test=false; 
     break; 

    default: // i want to display this message and send it back to case 1. when i do the method i'm doing it just keeps spamming this message. 
     System.err.println("Sorry your request could not be processed.Please re-try"); 
     test=true; 
} 
+0

'proceed'的值是多少? – naomi

+0

Proceed = Next.nextInt(); –

回答

0

如果你想送它回到1的情况下,那么你需要进行设置为1。我猜Next.nextInt()会给你1,2,但随后3,然后4,等等。超过2的任何内容都会默认为

+0

不要得到它,所以我完全删除循环,并设置进行到1?继续= Next.nextInt(); –

+0

尝试放置一个调试语句,以便您可以看到正在设置的继续 – naomi