2012-12-27 32 views
-2

我想使這個程序輸出一個錯誤,當有人進入一個字母作爲菜單選擇輸出,當有人進入一個字母爲菜單選擇了錯誤

package main; 

import java.util.Scanner; 

public class Main { 
    Scanner input = new Scanner(System.in); 

    public static void main(String[] args) { 
     int UserIn = 0; 
     double numberInputA; 
     double numberInputB; 
     double Answer; 

     Scanner input = new Scanner(System.in); 

     while (UserIn != 5) { 
      System.out.println("What type of calculation would you like to perform?"); 
      System.out.println("1. Add\n2. Subtract\n" + 
           "3. Multiply\n4. Divide\n5. Exit"); 
      UserIn = input.nextInt(); 

      if (UserIn > 5) { 
       System.out.println("ERROR choose the numbers on the menu"); 
      } else if (UserIn < 1) { 
       System.out.println("ERROR choose the numbers on the menu"); 
      } 

      if (UserIn < 5) { 
       System.out.println("Enter first number:"); 
       numberInputA = input.nextDouble(); 
       System.out.println("Enter second number"); 
       numberInputB = input.nextDouble(); 

       if (UserIn == 1) { 
        Answer = numberInputA + numberInputB; 
        System.out.println("Number 1 is:" + numberInputA); 
        System.out.println("Number 2 is:" + numberInputB); 
        System.out.println("Result is : " + Answer); 
        System.out.println(""); 
       } 

       if (UserIn == 2) { 
        Answer = numberInputA - numberInputB; 
        System.out.println("Number 1:" + numberInputA); 
        System.out.println("Number 2:" + numberInputB); 
        System.out.println("Result is :" + Answer); 
        System.out.println(""); 
       } 

       if (UserIn == 3) { 
        Answer = numberInputA * numberInputB; 
        System.out.println("Number 1:" + numberInputA); 
        System.out.println("Number 2:" + numberInputB); 
        System.out.println("Result is :" + Answer); 
        System.out.println(""); 
       } 

       if (UserIn == 4) { 
        Answer = numberInputA/numberInputB; 
        System.out.println("Number 1:" + numberInputA); 
        System.out.println("Number 2:" + numberInputB); 
        System.out.println("Result is :" + Answer); 
        System.out.println(""); 
       } 
      } 

      if (UserIn == 5) { 
       System.out.println("Program exited"); 
      } 

     } 
    } 
} 
+2

對不起,我們不「請爲我做X」的事情做。只要知道你可以使用(例如)RegEx來檢查一個字符串是否包含一個有效的數字,你可以使用'Integer.parseInt(String)'方法從'String'中獲得一個'int'。 –

+0

處理每個選擇的大部分代碼都完全相同;我會考慮稍微調整一下,以便於閱讀和修改。還要注意,例如,-10 <5,但不是有效的菜單選項。請請始終縮進代碼 - 這有助於大大提高可讀性。 –

回答

0

您可以請檢查是否一個字符是字母或不使用'Character.isLetter(char)'

if(Character.isLetter(UserIn)) 
{ 
    //do something 
} 

希望這有助於!

(PS:請在今後格式化您的文字更清晰一點,是清楚你的問題到底是,不僅在標題欄中,而且在問題的主要內容。)

1

如果你想要有一個循環功能,直到用戶做出正確的輸入,你才能使用這段代碼。

while(true){ 
    try{ 
     UserIn = input.nextInt(); 
     break; 
    }catch (Exception ex){ 
     System.out.println("Not an acceptable input."); 
     input.nextLine(); 
    } 
} 
0

,你可以在你的代碼在您方便喜歡簡單地套用try catch塊輸出錯誤:

try{ 
     while (UserIn != 5) { 
      System.out.println("What type of calculation would you like to perform?"); 
      System.out.println("1. Add\n2. Subtract\n" + 
        "3. Multiply\n4. Divide\n5. Exit"); 
      UserIn = input.nextInt(); 

      if (UserIn > 5) { 
       System.out.println("ERROR choose the numbers on the menu"); 
      } else if (UserIn < 1) { 
       System.out.println("ERROR choose the numbers on the menu"); 
      } 

      if (UserIn < 5) { 
       System.out.println("Enter first number:"); 
       numberInputA = input.nextDouble(); 
       System.out.println("Enter second number"); 
       numberInputB = input.nextDouble(); 

       if (UserIn == 1) { 
        Answer = numberInputA + numberInputB; 
        System.out.println("Number 1 is:" + numberInputA); 
        System.out.println("Number 2 is:" + numberInputB); 
        System.out.println("Result is : " + Answer); 
        System.out.println(""); 
       } 

       if (UserIn == 2) { 
        Answer = numberInputA - numberInputB; 
        System.out.println("Number 1:" + numberInputA); 
        System.out.println("Number 2:" + numberInputB); 
        System.out.println("Result is :" + Answer); 
        System.out.println(""); 
       } 

       if (UserIn == 3) { 
        Answer = numberInputA * numberInputB; 
        System.out.println("Number 1:" + numberInputA); 
        System.out.println("Number 2:" + numberInputB); 
        System.out.println("Result is :" + Answer); 
        System.out.println(""); 
       } 

       if (UserIn == 4) { 
        Answer = numberInputA/numberInputB; 
        System.out.println("Number 1:" + numberInputA); 
        System.out.println("Number 2:" + numberInputB); 
        System.out.println("Result is :" + Answer); 
        System.out.println(""); 
       } 
      } 

      if (UserIn == 5) { 
       System.out.println("Program exited"); 
      } 

     } 
    }catch (Exception e) { 
     System.out.println("Invalid Input !!! Program will exit"); 
    } 
相關問題