2011-03-02 19 views
0

我不知道如何插入一行代碼來計算彈出框中輸入的數字。基本上我不能輸入超過5個數字。所以我認爲某種if語句需要輸入,我不知道該怎麼做。在java中計數字符

這裏是我的代碼:

String number; 


number = JOptionPane.showInputDialog("Enter Number");  


JOptionPane.showMessageDialog(null,"The new result is" + number,"Results", 
     JOptionPane.PLAIN_MESSAGE); 

     System.exit(0); 

感謝

回答

1

編輯:有點寒酸,但如何對這樣的事情?

while(true) 
{ 
    String number = JOptionPane.showInputDialog("Enter Number");  

    if(number.length() >5) 
    { 

     JOptionPane.showMessageDialog(null ,"Too Long! try again",JOptionPane.PLAIN_MESSAGE); 
    } 
    else break; 
} 
+0

對不起,我的意思是首先彈出一個盒子,然後用戶輸入一個5位數字。如果該數字超過5,則彈出一個框,告訴用戶只輸入5個數字。 – Mike 2011-03-02 13:05:57

+0

@Mike編輯!如果從字符串中獲得數字值,請嘗試使用'int value = Integer.parseInt(number);' – 2011-03-02 13:12:54

+0

這很好,但如果用戶輸入的數字長度超過5,我怎樣才能讓輸入框彈出自己呢?此時該程序剛剛退出,並沒有給用戶重新輸入號碼的機會。 – Mike 2011-03-02 13:34:15

0

這有一些複雜性,例如,您不檢查非數字字符。

String number = JOptionPane.showInputDialog("Enter number"); 

number = number.trim(); // remove any spaces before and after 
if (number.length() > 5 || hasNonNumeric(String)) { 
    // show message 
    JOptionPane.showMessageDialog(null,"Too long or non numeric characters in the string", 
    JOptionPane.PLAIN_MESSAGE); 
} 

boolean hasNonNumeric(String pSrc) { 
    for (char c : pSrc.toCharArray()) { 
     if (!Character.isDigit(c)) { 
      return true; 
     } 
    } 
    return false; 
} 

這樣更安全些。