Enoncé exercice : créer un programme qui fusionne deux chaines de caractère que l’utilisateur envoie au système. Les mots entrés par l’utilisateur peuvent contenir un nombre différents de caractères. Si par exemple l’utilisateur entre le mot bonjour et le mot hello, le résultat à l’affichage sera « HBeolnljoour »
import java.util.Scanner;
public class Fusion {
public static String merge(String s, String t){
String res = "";
int i,j,k;
for ( i=0, j=0 ; i < s.length() && j < t.length(); i++, j++){
res += Character.toString(s.charAt(i)) + Character.toString(t.charAt(j));
// s.charAt(i) et t.charAt(j)sont des types primitifs, pour pouvoir utiliser
//la methode toString, il faut utiliser la methode statique toString qui se trouve
//dans la classe "Character" . Car cette méthode s'applique sur un char, or on a besoin de l'objet même que represente le type primitif
}
// on traite la chaine la plus longue...
String laPlusLongue = s.length() > t.length() ? s : t;
// equivalent à :
// if(s.length() > t.length())
// laPlusLongue = s;
// else
// laPlusLongue = t;
for( k = i; k < laPlusLongue.length(); k++) {
res += Character.toString(laPlusLongue.charAt(k));
}
return res;
}
public static void main(String[] args) {
System.out.println("Veuillez entrer une chaine de caractère");
Scanner MonScanner = new Scanner(System.in);
String result = MonScanner.next();
System.out.println("Veuillez entrer une chaine de caractère");
String result2 = MonScanner.next();
String res = merge(result, result2);
System.out.println(res);
}
}
Nadine
8 h 03 min on 8 octobre 2009 Permalink
Everything dynamic and very positively!