2011-09-09 2 views
1

J'ai une valeur entière provenant de la ligne de commande. C'est comme 12345 ou 2343455435 sans aucun caractère de délimitation. Comment puis-je obtenir des pièces individuelles de cet entier, comme pour dire que je veux quelque chose de 12 345 comme 1, 2, 3, 4 et 5.comment délimiter les entiers dans java?

+0

Juste itérer sur tous les signes et ajouter une virgule après chacun? – RoflcoptrException

+0

La valeur de l'entier est-elle un String ou un int? –

+0

Eh bien, c'est une valeur int – Maverick

Répondre

0

Juste itérer sur tous les chiffres de l'entier et ajouter une virgule si nécessaire. Quelque chose comme ça:

public static void main(String[] args) { 
     int a = 123456; 

     String s = Integer.toString(a); 
     for (int i = 0; i < s.length() - 1; i++) { 
      System.out.print(s.charAt(i) + ","); 
     } 
     System.out.println(s.charAt(s.length() - 1)); 
    } 
0
String[] pieces = Integer.toString(myInt).split("[\\d]"); 
Integer [] numbers = new Integer[pieces.length]; 
Integer counter = 0; 
for (String n : pieces) 
    numbers[counter++] = Integer.parseInt(n); 

C'est en supposant qu'il est un entier. Sinon:

String[] pieces = myNumString.split("[\\d]"); 
0

Vous pouvez utiliser StringTokenizers pour obtenir la chaîne en fonction des jetons spécifiques ou vous pouvez simplement sous-chaîne la chaîne (utilisation Integer.toString (yourInteger))

int start = 1; 
int end = 4; 
String substr = "aString".substring(start, end); 
2

vous pouvez essayer quelque chose comme this:

String numberString = "123456789"; 
for(byte numberByte:numberString.getBytes()){ 
    int number = numberByte - '0'; 
    System.out.println(number); 
} 
Questions connexes