[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]

4.4
  Conversion majuscules/minuscules - Corrigé
Niveau 1
 
 
Fichiers:
  Conversion1.java, Conversion2.java    

Deux versions du programme vous sont données. La première, plutôt brute, exige de connaître le codage Unicode des caractères, c'est-à-dire de savoir exactement où sont situés les caractères alphabétiques dans cette norme). La seconde, beaucoup plus élégante, utilise simplement le fait que les caractères se suivent selon l'ordre alphabétique dans la norme et que les majuscules sont placées avant les minuscules.

Solution brute :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;

class Conversion1 {

    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.print("Entrez une seule lettre A..Z ou a..z : ");
        char c = scanner.next().charAt(0);
        if (((int) c > 122) || ((int) c < 65)
                    || (((int) c > 90) && ((int) c < 97))) {
            System.out.println("Caractere non valable");
        } else if ((int) c < 91) {
            System.out.println("Version minuscule : " + (char) (c + 32));
        } else {
            System.out.println("Version majuscule : " + (char) (c - 32));
        }
    }
}


"Jolie" solution:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;

class Conversion2 {

    private static Scanner scanner = new Scanner(System.in);

    public static void main (String[] args) {
        System.out.print("Entrez une seule lettre A..Z ou a..z : ");
        char c = scanner.next().charAt(0);

        if (( c <= 'z' ) && ( c >='a')) {
            c = (char) ((int)c + (int)'Z' - (int)'z');
            System.out.println("Version majuscule : " + c);
        } else if (( c <= 'Z' )&& ( c >= 'A')) {
            c=(char)((int)c - (int)'Z' + (int)'z');
            System.out.println("Version minuscule : " + c);
        } else {
            System.out.println("Caractere non valable");
        }
    }
}

 


[Précédent]
[Index] | [Enoncé] | [Version imprimable]
[Prochain]