2016-05-18 63 views
0

如果我想允許的JOptionPane整數輸入,我需要如何允許字符串輸入的JOptionPane

String something= JOptionPane.showInputDialog(null, " "); 
int x = Integer.parseInt(something); 

不過,這次我想輸入字符串到JOptionPane InputDialog爲。有沒有類似int x = Integer.parseInt();的方法,但對字符串有效?

而且,如何使程序能夠檢測錯誤(如無效輸入)的高級功能?例如。當用戶輸入空格並輸入而不是一個值或一個單詞時,或者他們的回答超出範圍。 所以基本上他們的回答是像空間或-99當答案應該在1至100內。

對不起,如果這聽起來很愚蠢,我很新的編程。

+1

你已經得到了'''String'''從輸入對話框,你爲什麼會想將它解析爲一個'''String'''再次? –

回答

0

有沒有類似於Int x = Integer.parseInt()的方法?但適用於字符串?

要回答你的第一個問題,有一種方法。就像@John Verner所說的,只需使用你從JOptionPane得到的字符串!不需要做任何特別的事情。

而且,如何使程序能夠檢測錯誤(例如無效輸入)的高級功能?

嘗試在您獲得的字符串上使用Integer.parseInt();。如果拋出異常或返回的int不在指定的範圍內,則告訴用戶再次輸入。

有關捕獲異常詳細信息,click here.

1
public static void main(String[] args) { 
     String message = JOptionPane.showInputDialog(null, "Enter a message:"); 
     boolean validMessage = false; 
     do { 
      if (isMessageEmpty(message)) { 
       message = JOptionPane.showInputDialog(null, "No message entered! Enter a message:"); 
      } else { 
       if (Integer.parseInt(message) > 100 || Integer.parseInt(message) < 0) { 
        message = JOptionPane.showInputDialog(null, "Message not acceptable, please enter a valid message::"); 
       } else { 
        validMessage = true; 
       } 
      } 
     } while (!validMessage); 
    } 

    private static boolean isMessageEmpty(String message) { 
     return message.trim().isEmpty(); 
    } 
相關問題