bonjour, j'ai un souci avec un mini-projet ( qu eje dois rendre ce soir).
il s'agit de convertir un tableau de char en tableau de string; j'ai ecris le code mais je n'arrive pa à ecrire le dernier mot du tableau ( !!!)
peu-être ai-je trop le nez collé dessus mais ça urge
si quelqu'un peut regarder. Merci d'avance.
lucck
voici le code :
Résultat de la compil : avec i =1, das la boucle for :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39 public class Projet_2_TabCharVersTabString { static int cmptNbMot(char []t){ int NbMot=0; for(int i =0; i<t.length; i++){ if((t[i]== ' ')&&(t[i]+1)!= ' '){ NbMot=NbMot+1; } // else if ( t[i]!=' '){ //i++; } return( NbMot+1); } public static void main ( String args []){ char[] tab1 ={'b','o','n','j','o','u','r',' ','c','e','c','i',' ','e','s','t',' ','u','n',' ','t','a','b','l','e','a','u'}; String s= " "; char a = ' '; // affichage du tableau de caractères tab1 : for(int j=0; j<tab1.length; j++){ Terminal.ecrireString(" "+tab1[j]); } Terminal.sautDeLigne(); Terminal.ecrireStringln("la longueur du tableau de char est : " + tab1.length); Terminal.ecrireStringln(" le nb de mot est : " +cmptNbMot(tab1)); String [] tab3 =new String [cmptNbMot(tab1)]; int j=0; for(int i=1; i<cmptNbMot(tab1); i++){ while(tab1[j]!=a && j <tab1.length){ s= s+ tab1[j]; tab3[i]=s; j++; } Terminal.ecrireStringln(" glurp "+ i + tab3[i]); s=" "; while ( tab1[j]==a && j<tab1.length){ j++; } } } }
run-single:
b o n j o u r c e c i e s t u n t a b l e a u
la longueur du tableau de char est : 27
le nb de mot est : 5
glurp 1 bonjour
glurp 2 ceci
glurp 3 est
glurp 4 un
BUILD SUCCESSFUL (total time: 0 seconds)
Il me manqu edonc soit un dernier tour soit une case dans le tableau tab3 pour qu ele mot "tableau " s'affiche...
si je fais i = 0 , pour rajouter un tour, ça ne passe pas :
run-single:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 27
b o n j o u r c e c i e s t u n t a b l e a u
la longueur du tableau de char est : 27
le nb de mot est : 5
at Nfa001_Bis.Projet_2_TabCharVersTabString.main(Projet_2_TabCharVersTabString.java:28)
glurp 0 bonjour
glurp 1 ceci
glurp 2 est
glurp 3 un
Java Result: 1
BUILD SUCCESSFUL (
Partager