Bonjour,
j'aimerais avoir de l'aide sur la façon de passer de :
String s = "2 0 -5 0\n -6 4 0\n -2 0\n"
à :
int[] tab = [2,0,-5,-6,4,0,-2,0]
Si vous avez des idées, merci.
Version imprimable
Bonjour,
j'aimerais avoir de l'aide sur la façon de passer de :
String s = "2 0 -5 0\n -6 4 0\n -2 0\n"
à :
int[] tab = [2,0,-5,-6,4,0,-2,0]
Si vous avez des idées, merci.
peut etre pourrait tu essayer de voir du coter de substring ou split et dans une boucle de caster le resultat de ton decoupage en int, et ensuite toujours dans la boucle de remplir ton tableau.
ensuite pour obtenir un tableau d'int il faut passer par Integer.parseInt je pense :)Code:
1
2
3
4
5
6
7
8 public static void main(String[] args) { String s = "2 0 -5 0\n -6 4 0\n -2 0\n"; String[] strings = s.split("\\s+"); for (int i = 0; i < strings.length; i++) { String string = strings[i]; System.out.println("<"+string+">"); } }
Merci.
J'ai aussi pensé à cette fonction :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public static int[] toTab(String s){ int i = 0; int cpt = 0; String p = ""; while(i<s.length()){ // boucle servant à récupérer // la taille du tableau de retour if(s.charAt(i)==' ' || s.charAt(i)=='\n'){ cpt++; } i++; } i = 0; int ind = 0; int[] tmp = new int[cpt]; while(i<s.length()){ if(s.charAt(i)!=' ' && s.charAt(i)!='\n'){ p+=s.charAt(i); }else{ tmp[ind] = Integer.parseInt(p); ind++; p = ""; } i++; } return tmp; }