Bonjour tous le monde,


Je me permet de vous solliciter votre aide. Je dois créer un système assez basique de morse. J'ai bidouillé un peu en allant sur internet. J'ai pu faire un peu près 65% de travail. Le travail consiste à prendre les valeurs entre sur le terminal, couper au niveau de espace puis ajouter "Stop.". Ainsi je tape "Bonjour cava les internautes". Le programme doit affcher "Bonjour Stop. cava Stop. les Stop internaute Stop." Le mien il m'affiche un stop de plus. Pouvez-vous me dire ou se trouve ma faute ?

je vous remercie d'avance.

Cordialement

Tuba uba
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
40
41
42
43
44
45
 import java.util.*;
 
public class Emorse{
    public static void main(String[] args){
	String messageDemande, messageExtrait, messageEnregistre ;Scanner demande = new Scanner(System.in);
	messageEnregistre = " ";
	int indexOfSpace = 0;
	int nextIndexOfSpace = 0;
	System.out.println("Saisir le message");
	messageDemande = demande.nextLine();
 
	nextIndexOfSpace = messageDemande.indexOf(" "); //  ici je verifie  s'il a y un espace et j'enleve l'espace
	if(nextIndexOfSpace == 0){
	    messageDemande  = messageDemande.substring(nextIndexOfSpace+1);
	    };
 
 
	while(nextIndexOfSpace !=-1){
 
	    nextIndexOfSpace = messageDemande.indexOf(" ", indexOfSpace);
	    	System.out.println(nextIndexOfSpace);
 
	    if(nextIndexOfSpace == -1){
 
 
	    messageExtrait = messageDemande.substring(indexOfSpace);
	    messageEnregistre = messageEnregistre + messageExtrait+ " Stop. ";
	    break ;
	   }
           else{
 
	    messageExtrait = messageDemande.substring(indexOfSpace, nextIndexOfSpace+1);
	    messageEnregistre = messageEnregistre + messageExtrait +"Stop. ";
	}
 
 
	indexOfSpace = nextIndexOfSpace+1;
 
 
 
 
	};
	System.out.println(messageEnregistre);
    }
}
Réponse donne :
bonsoir Stop. je Stop. suis Stop. null Stop. est Stop. meilleur Stop. Stop.