2009-12-21 15 views
4

Comment puis-je convertir un tableau String en un tableau int en Java? Je lis un flux de caractères entiers dans un tableau String de la console, aveclecture int depuis la console

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

str[] est une chaîne typée. Je veux comparer le contenu str[] ... qui ne peut pas être effectué sur les caractères (l'erreur) Et donc je veux lire int à partir de la console. Est-ce possible?

Répondre

11

Integer.parseInt(String); est quelque chose que vous voulez.


Essayez ceci:

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

Quoi qu'il en soit, pourquoi utilisez-vous pas scanner? Ce serait beaucoup plus facile pour vous si vous utilisez 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

N'oubliez pas d'attraper 'NumberFormatException' si le' String' ne contient pas de parsable 'int'. – Asaph

6

L'utilisation d'un scanner est beaucoup plus rapide et donc plus efficace. En outre, il ne vous oblige pas à entrer dans les tracas de l'utilisation de flux tamponnés pour l'entrée. Voici son utilisation:

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 

Notez également que, la fonction nextInt() peut lancer 3 exceptions comme indiqué here. N'oublie pas de les manipuler.

Questions connexes