2015-02-13 3 views
0

Я пытаюсь перезагрузить эту программу, если пользовательский ввод не соответствует правильному формату. Однако я не уверен, как это сделать. Я приложил следующий код:Java как повторить оператор, если он не соответствует условию

package weeek4; 

import javax.swing.JOptionPane; 


public class rollNumber { 
public static void main(String[] args) { 

String input = JOptionPane.showInputDialog(null,"Enter your Roll Number in  this format **-***-*****"); 

if (input.matches("\\d{2}-\\d{3}-\\d{5}")) { 
JOptionPane.showMessageDialog(null,"Thank you"); 
} 
else { 
    JOptionPane.showMessageDialog(null,"Invalid Number"); 
    } 


} 
} 
+1

использовать цикл while и флаг? – DeiAndrei

+0

Пожалуйста, отформатируйте свой код перед отправкой вопроса. Кроме того, имена классов в Java должны начинаться с буквы верхнего регистра. – Keppil

+0

Я бы посоветовал вам проверить следующую часть Javadoc о 'while' утверждениях: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html – HavelTheGreat

ответ

1

Это довольно легко. Просто используйте loop (А о том, что повторяет блок кода, пока некоторое условие не будет выполнено) и переменным флаг (в данном случае, k проверяет условие в цикле while)

package weeek4; 

import javax.swing.JOptionPane; 


public class rollNumber 
{ 
    public static void main(String[] args) 
    { 

     String input = JOptionPane.showInputDialog(null,"Enter your Roll Number in  this format **-***-*****"); 
     int k = 0; 
     while (k!=1) 
     { 
     if (input.matches("\\d{2}-\\d{3}-\\d{5}")) { 
      JOptionPane.showMessageDialog(null,"Thank you"); 
      k=1; 
     } 
     else 
      JOptionPane.showMessageDialog(null,"Invalid Number"); 
     } 


    } 
} 

Надеюсь, что я помог :)

Смежные вопросы