2009-12-21 5 views
4

Как преобразовать массив String в массив int в java? Читаю поток целых символов в String массив из консоли, счтение int с консоли

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

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

ответ

11

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(); 
    } 

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

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(); 
    } 

6
int x = Integer.parseInt(String s); 
+1

Не забудьте поймать 'NumberFormatException', если' String' не содержит синтаксический 'int'. – Asaph

6

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

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 исключения, как указано here. Не забывайте обращаться с ними.

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