2016-06-18 2 views
0

Моя программа требует, чтобы консоль вводила одновременно имя пользователя и возраст. Я использую BufferedReader, как показано. Как вы можете видеть, addPassenger принимает два входа, имя и возраст ... но я могу только ввести имя. Как это можно реализовать с помощью BufferedReader? Другими словами, как я могу сделать «screenInput.readLine();» взять имя и возраст в качестве входных строк? Любая помощь оценивается.Как я могу заставить BufferedReader принимать сразу несколько входов?

public class Console { 

public static void main(String[] args) { 

    // Initialize database 

    Database prodDB = new Database(); 
    prodDB.bootstrap(); 

    //Initialize console 
    boolean always = true; 
    BufferedReader screenInput = new BufferedReader(new InputStreamReader(System.in)); 

    while(always){ 

     //ask for passengerName and age, then add 
     System.out.println("Enter Passenger Name and Age: "); 

     String name = screenInput.readLine(); 

     boolean result = prodDB.addPassenger(name, age); 

     if (result){ 
      System.out.println("Welcome back " + name); 
     } else 
     { 
      System.out.println("Welcome " + name); 
     } 

     always = false; 
+0

Как вы разделите их? Космос? Войти? – Hackerdarshi

+0

Я разделяю их с помощью Enter. –

ответ

1

Вы можете просто добавить еще одну строку, чтобы взять на себя возраст, как это:

String name = screenInput.readLine(); 
int age = Integer.parseInt(screenInput.readLine()); 
+0

Спасибо, что будет, если я отделяю их пространством? –

+1

@RobertMutua Прочитайте строку и разделите ("") строку. – theVoid

+0

@RobertMutua theVoid прав! Вы можете использовать 'split (" ")', а затем преобразовать возрастную строку в int. – Hackerdarshi

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