2013-12-03 5 views
-2

Я изо всех сил пытался выяснить, как сделать мой цикл кода при запросе ввода пользователем.Создание цикла в java?

В принципе, я хочу, чтобы программа повторно задала вопрос, если пользователь вообще не вводит текст. Это то, что я сделал до сих пор.

import javax.swing.JOptionPane; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

    public class Assessment { 

    public static void main(String[] args) throws IOException { 

      BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in)); 

      String me = JOptionPane.showInputDialog("Please enter your name"); 
      System.out.println("Your name is: " + me); 

      String user1 = JOptionPane.showInputDialog("Please choose a number"); 
      System.out.println("Your number is: " + user1); 

      String user2 = JOptionPane.showInputDialog("Please enter your choice of security, choice1(low) or choice2(high)"); 
      String response = (String)System.in.toString(); 

      if(user2.equals("choice1")) 
      JOptionPane.showMessageDialog(null,"your username is: "+me+user1,"Your username",JOptionPane.WARNING_MESSAGE); 


    } 
} 
+5

Поиск сделать в то время как структура. –

ответ

0

Это все, что вам нужно сделать -

String me = ""; 

      do 
      { 
      me = JOptionPane.showInputDialog("Please enter your name"); 
      }while(me.equals("")); 

ли это для других окон тоже.

Или просто скопировать вставить этот код :(

import javax.swing.JOptionPane; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class Assessment { 

    public static void main(String[] args) throws IOException { 

     BufferedReader userInput = new BufferedReader(new InputStreamReader(
       System.in)); 

     String me = ""; 
     String user1 = ""; 
     String user2 = ""; 

     do { 
      me = JOptionPane.showInputDialog("Please enter your name"); 
     } while (me.equals("")); 

     System.out.println("Your name is: " + me); 

     do { 
      user1 = JOptionPane.showInputDialog("Please choose a number"); 
     } while (user1.equals("")); 
     System.out.println("Your number is: " + user1); 

     do { 
      user2 = JOptionPane 
        .showInputDialog("Please enter your choice of security, choice1(low) or choice2(high)"); 

     } while (user2.equals("")); 
     String response = (String) System.in.toString(); 

     if (user2.equals("choice1")) 
      JOptionPane.showMessageDialog(null, "your username is: " + me 
        + user1, "Your username", JOptionPane.WARNING_MESSAGE); 

    } 
} 
+0

это сработало отлично :) спасибо за помощь! – user3063011

+0

@ пользователь3063011 - большой. вам нужно узнать больше вещей. Кстати, пожалуйста, выберите мой ответ. –

1
while (!me.equals("")) { 

} 

сравнить Strings в Java вы должны использовать Equals() и так как вы не хотите, чтобы это было равно пустой текст, который вы должны использовать отрицание в Java.

Надеюсь, это поможет.

+0

спасибо за помощь man :) – user3063011

0

использование java.util.Scanner.

Scanner input = new Scanner(System.in); 

После запроса на имя, используйте следующее:

String name = input_next(); 
if (name != null && !("").equals(name)) { //then move next - else go back to the prompt 
0

Вы можете найти большой учебник по этому here, в частности, «в то время как» и «делать-то время» заявления

Короче.:

while (condition) { 
    // statements 
} 

и

do { 
    // statements 
} while (condition); 

Пока условие оценивается как true, инструкции будут продолжать выполняться. Разница между while и do-while - это время, в течение которого условия оцениваются, обратитесь к учебнику за дополнительной информацией.

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