Exercice 1
À l'aide de l'API Java, écrire un programme sans boucle qui vérifie si un mot saisi par l'utilisateur est un palindrome (chaîne de caractères qui se lit dans les deux sens, par exemple ''radar'').
import java.util.*;
class Palindrome {
public static void main (String args []){
Scanner scan = new Scanner (System.in);
// L'utilisateur saisit un mot
String s = scan.next();
// Le constructeur StringBuffer construit un objet sb
// de classe StringBuffer correspondant à la chaîne représentée par s
StringBuffer sb = new StringBuffer(s);
// Le constructeur Stringbuffer construit un objet t
// de classe StringBuffer correspondant à la chaîne représentée par s
StringBuffer t = new StringBuffer(s);
// Appel de la méthode reverse : inversion de la chaîne de caractères
// affectée à l'objet t de classe StringBuffer et affection du résultat à la chaîne de caractère v
String v = new String (t.reverse());
// à savoir : "essai".compareTo("essai") vaut : 0
// "essai".compareTo("essais") vaut : -1
// "essais".compareTo("essai") vaut : 1
if (s.compareTo(v) == 0) {
System.out.println ("Palindrome");
}
else {
System.out.println ("Pas un palindrome");
}
}
}
Exercice 2
Jeu à deux joueurs. Le premier joueur tape un mot au clavier. L'ordinateur affiche ce mot en remplaçant par '_' tous les caractères sauf sa première et sa dernière lettre. Le deuxième joueur doit deviner le mot avec ces indications. Il a droit à deux essais. N.B. : le mot le plus long de la langue française comporte 25 lettres.
import java.util.*;
class Pendu {
public static void main (String args []){
Scanner scan = new Scanner (System.in);
// L'utilisateur entre le mot à deviner
String s = scan.next();
// Création d'une chaîne de 25 caractères (25 "_")
// NB : le mot le plus long de la langue française comporte 25 lettres
String s2 = "_________________________";
// Le constructeur Stringbuffer construit un objet sb
// de classe StringBuffer correspondant à la chaîne représentée par s2
StringBuffer sb = new StringBuffer(s2);
//on remplace le premier caractère de l'objet sb par le premier caractère du mot entré par l'utilisateur (si "toto" alors "t")
sb.setCharAt (0, s.charAt(0));
//on remplace le dernier caractère de l'objet sb au niveau de la position du dernier caractère de s par le dernier caractère de s (si "toto alors "o")
sb.setCharAt (s.length()-1, s.charAt(s.length()-1));
//on efface les "_"(début à fin) à partir du caractère suivant le dernier caractère du mot entré par l'utilisateur jusqu'au dernier caractère de l'objet sb
sb.delete (s.length(), sb.length());
System.out.println (sb.toString());
String s3 = scan.next();
//Si la chaîne s3 est la même que la chaîne s, on affiche "bravo"
if (s3.equals(s)){
System.out.println("bravo");
}
else {
System.out.println ("encore un essai");
s3 = scan.next();
if (s3.equals(s)){
System.out.println("Ah quand même ! Bravo.");
}
else {
System.out.println("Desole, le mot a trouver etait"+s);
}
}
}
}
Exercice 3
Ecrire un programme affichant à l'écran la représentation binaire d'un entier strictement positif inférieur ou égal à 7.
import java.util.*;
class Binaire {
public static void main (String args []){
Scanner scan = new Scanner (System.in);
StringBuffer binaire = new StringBuffer ("");
System.out.println ("Choisir un nombre entre 1 et 7");
int entier = scan.nextInt();
while (entier >7 || entier <1) {
System.out.println ("Choisir un nombre ENTRE 1 ET 7");
entier = scan.nextInt ();
}
int res;
while (entier!= 0) {
if ((entier % 2)== 1){
res = 1;
binaire.append(res);
}else if ((entier % 2)==0){
res = 0;
binaire.append(res);
}
entier = entier / 2;
}
binaire.reverse();
System.out.println (binaire.toString());
}
}
-----------
Ces programmes ont été compilés et testés. Ils peuvent néanmoins comporter des erreurs, des lourdeurs ou pire : des idées tordues. N'hésitez pas à écrire un commentaire pour apporter vos corrections.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire