2010-11-30 7 views
2

Je me demandais s'il était possible d'affecter des occurrences de caractères à des variables jusqu'à ce que j'atteigne un caractère d'espace blanc. Par exemple si j'ai la chaîne "17 23 4 54 6 343 4" Comment attribuer le premier nombre 17 à une variable, et les numéros suivants suivants.Affectation d'occurrences d'espaces aux variables

Répondre

5
String values = "17 23 4 54 6 343 4"; 
String[] variables = values.split("\\s"); 

Maintenant, vous avez un tableau variables qui détient 17 variables[0], 23 variables[1] et ainsi de suite.

+0

Notez que ces valeurs seront de type 'CHAINE'. Pour les transformer en 'ints', vous devrez passer par' Integer.parseInt' et ajouter un try/catch autour de cela. – aioobe

0

Vous pouvez simplement diviser sur les espaces, la boucle puis sur le tableau résultant et convertir la représentation de chaîne des nombres réels ints.

Quelque chose comme

String input = "17 23 4 54 6 343 4"; 
String [] inputTokens = input.split(" "); 
List<Integer> result = new ArrayList<Integer>(); 

for (String string : inputTokens) { 
    result.add(new Integer(string.trim())); 
} 
0

Vous pouvez utiliser le scanner en classe pour lire la chaîne.

Scanner input = new Scanner("17 23 4 54 6 343 4"); 
while(input.hasNextInt()) { 
    int theValue = input.nextInt(); 
} 
2

Je voudrais utiliser un Scanner:

import java.util.Scanner; 

public class Test { 
    public static void main(String[] args) { 
     String input = "17 23 4 54 6 343 4"; 
     Scanner s = new Scanner(input); 

     while (s.hasNextInt()) 
      System.out.println(s.nextInt()); 
    } 
} 

Sortie:

17 
23 
4 
54 
6 
343 
4 

Comment puis-je attribuer le premier numéro 17 à une variable, et la suivante ultérieure Nombres.

Si vous voulez littéralement la première valeur d'une variable, et la chaîne restante dans un autre, vous pouvez faire:

String input = "17 23 4 54 6 343 4"; 
Scanner s = new Scanner(input); 

int firstValue = s.nextInt(); 
String remaining = s.nextLine(); 
Questions connexes