2016-04-06 34 views
0

iptal etmeknasıl 0 arasındadır şaşırtmak ve java bir kullanıcı imput doğrulamak için döngü yapmaya çalışıyorum hasebiyle JOptionPane

kullanıcı 1 ile 12 ancak tıklama iptal edersek JOptionPane

kapatmak gerekir arasındaki tamsayı girmelisiniz kullanıcı tıklama bu durum haşhaş iptal zaman
int number = 0; 
    boolean condition= false; 

    while (!condition) { 
     try { 
      txt = JOptionPane.showInputDialog(null, 
        "Entrez num :", "Number", 
        JOptionPane.PLAIN_MESSAGE); 

      if(txt!=null &&txt!="0") 
      number = Integer.parseInt(txt); 

         if (number <= 1 || number > 12) { 
      JOptionPane.showMessageDialog(null, "Integer must be between 1 and 12"); 
     }else 
       condition=true; 

     } catch (NumberFormatException e) { 
      JOptionPane.showMessageDialog(null, "you have to enter an integer"); 
     } 

    } 

karşılaştığım sorun, ancak kapatın ve

JOptionPane.showMessageDialog(null, "Integer must be between 1 and 12"); 

ho ana menüye dönmek için Joption bölmesini istiyor Kullanıcı kutuya 0 girdiğinde ve iptal edince tıklamak için w?

Çok Takdir,

cevap

3

Bas the javadoc ne diyor?

Diyor ki

İade: Kullanıcının giriş veya boş anlam kullanıcı girişi iptal etti. Eğer "0" alırsanız

Yani, kullanıcı 0 girmiş ve null alırsanız, kullanıcı iptal etti.

Yan not: don't use == to compare strings. Use equals().

+1

İpucu: :) – napi15

+0

sayesinde istemeden önce Javadoc başvurun! gerçekten minnettarım – napi15

0

bunu yazma uygun yolu: benim kendi için

if(txt!=null &&txt!="0") 
{ 
if (number <= 1 || number > 12) { 
    JOptionPane.showMessageDialog(null, "Integer must be between 1 and 12"); 
else 
    number = Integer.parseInt(txt); 
} 
else ///He hit calcel 
condition= true