чтение int из консоли - PullRequest
       10

чтение int из консоли

5 голосов
/ 21 декабря 2009

Как я могу преобразовать массив String в массив int в Java? Я читаю поток целочисленных символов в массив String из консоли, с

BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
for(c=0;c<str.length;c++) 
    str[c] = br.readLine();

, где str[] - это строка типа. Я хочу сравнить содержимое str[], которое не может быть выполнено на символах (ошибка) И поэтому я хочу прочитать int с консоли. Это возможно?

Ответы [ 3 ]

12 голосов
/ 21 декабря 2009

Integer.parseInt(String); это то, что вы хотите.


Попробуйте это:

int[] array = new int[size];
    try {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        for (int j = 0; j < array.length ; j++) {
                int k = Integer.parseInt(br.readLine());
                array[j] = k;
        }
     }

    catch (Exception e) {
            e.printStackTrace();
     }

В любом случае, почему вы не используете сканер? Для вас было бы намного проще, если бы вы использовали сканер. :)

int[] array = new int[size];
    try {
        Scanner in = new Scanner(System.in); //Import java.util.Scanner for it
        for (int j = 0; j < array.length ; j++) {
                int k = in.nextInt();
                array[j] = k;
        }
     }
     catch (Exception e) {
            e.printStackTrace();
     }

7 голосов
/ 03 апреля 2012

Использование сканера намного быстрее и, следовательно, более эффективно. Кроме того, он не требует от вас использования буферизованных потоков для ввода. Вот его использование:

java.util.Scanner sc = new java.util.Scanner(System.in);  // "System.in" is a stream, a String or File object could also be passed as a parameter, to take input from

int n;    // take n as input or initialize it statically
int ar[] = new int[n];
for(int a=0;a<ar.length;a++)
  ar[a] = sc.nextInt();
// ar[] now contains an array of n integers

Также обратите внимание, что функция nextInt() может выдавать 3 исключения, как указано здесь Не забудьте разобраться с ними.

7 голосов
/ 21 декабря 2009
int x = Integer.parseInt(String s);
...