JAVA: получить 2 значения для целочисленных переменных от пользователя в 1 строке? - PullRequest
3 голосов
/ 30 января 2012

Я пытаюсь выяснить, есть ли способ для пользователя ввести два значения в одну строку и поместить каждое значение в отдельную переменную.

Например, у меня есть целочисленная переменная "x" и целочисленная переменная "y". Я предлагаю пользователю сказать: «Введите координаты x и y:». Допустим, пользователь вводит: «1 4». Как я могу отсканировать x = 1 и y = 4?

Ответы [ 5 ]

8 голосов
/ 30 января 2012
    Scanner scn = new Scanner(System.in);
    int x = scn.nextInt();
    int y = scn.nextInt();
1 голос
/ 16 августа 2014
int[] arr = new int[2];
for (int i = 0; i < arr.length; ++i){
    try{
        int num = Integer.parseInt(in.next()); // casting the input(making it integer)
        arr[i] = num;
    } catch(NumberFormatException e) { }
}
1 голос
/ 30 января 2012

Вы можете сделать это примерно так:

public class ReadString {

   public static void main (String[] args) {


      System.out.print("Enter to values: x y");

      //  open up standard input
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

      String values = null;


      try {
         values = br.readLine();
        String[] split = values.split(" ");
        if(split.length == 2)
        {
            int x = Integer.parseInt(split[0]);
            int y = Integer.parseInt(split[1]);
        }else{
            //TODO handle error
        }

      } catch (IOException ioe) {
         System.out.println("IO error!");
         System.exit(1);
      }



   }

}  
1 голос
/ 30 января 2012
String[] temp;    
String delimiter = "-";
      /* given string will be split by the argument delimiter provided. */
      temp = str.split(delimiter);
      /* print substrings */
      for(int i =0; i < temp.length ; i++)
        System.out.println(temp[i]);
0 голосов
/ 30 января 2012

input - ваш ввод типа String

String[] values = input.split(" ");
x = Integer.valueOf(values[0]);
y = Integer.valueOf(values[1]);
...