Astuces techniques pour les exercices avancés en Java

Voici une collection de techniques utiles pour améliorer vos compétences en programmation Java, couvrant la saisie utilisateur, la génération de nombres aléatoires, l'optimisation du code et les manipulations de tableaux.

Saisie au clavier avec Scanner

Pour lire des données depuis la console, utilisez la classe Sccanner. Voici un exemple modifié avec des noms de variables alternatifs :

import java.util.Scanner;

Scanner lecteur = new Scanner(System.in);
System.out.println("Entrez le prix original du billet d'avion :");
int cout = lecteur.nextInt();

Génération de nombres aléatoires

La classe Random permet de créer des valeurs aléatoires. Notez que la plage est exclusive de la borne supérieure.

import java.util.Random;

Random generateur = new Random();
int valeur = generateur.nextInt(100) + 1;
System.out.println("Nombre aléatoire : " + valeur);

Extraction automatique de méthodes

Avant de définir une méthode, posez-vous ces questions fondamentales : quelle est mon objectif ? quels sont les prérequis pour l'atteindre ? ai-je besoin du résultat pour la suite ? Utilisez le raccourci clavier Ctrl + Alt + M pour une extraction simplifiée.

Vérification des nombres premiers

Voici une approche révisée pour tester la primalité, en ajustant les variables de boucle :

int candidat = 7;
boolean estPremier = true;
for (int diviseur = 2; diviseur < candidat; diviseur++) {
    if (candidat % diviseur == 0) {
        estPremier = false;
        break;
    }
}
System.out.println(candidat + " est premier ? " + estPremier);

Sélection aléatoire dans un ensemble de données

Pour extraire un élément aléatoire d'une collection non ordonnée, stockez-le d'abord dans un tableau, puis générez un index aléatoire :

package exemple;
import java.util.Random;

public class SelectionAleatoire {
    public static void main(String[] args) {
        int[] donnees = {2, 588, 888, 1000, 10000};
        Random rnd = new Random();
        for (int k = 0; k < donnees.length; k++) {
            int index = rnd.nextInt(donnees.length);
            System.out.print("Index: " + index + " -> Valeur: " + donnees[index] + "\n");
        }
    }
}

Construction d'un tableau de caractères

Pour générer un tableau contenant toutes les lettres majuscules et minuscules, utilisez les codes ASCII :

char[] alphabet = new char[52];
for (int pos = 0; pos < alphabet.length; pos++) {
    if (pos <= 25) {
        alphabet[pos] = (char) ('a' + pos);
    } else {
        alphabet[pos] = (char) ('A' + pos - 26);
    }
}

Inversion d'un tableau

Pour inverser les éléments d'un tableau, employez deux indices convergents :

int[] sequence = {10, 20, 30, 40, 50};
for (int debut = 0, fin = sequence.length - 1; debut < fin; debut++, fin--) {
    int temporaire = sequence[debut];
    sequence[debut] = sequence[fin];
    sequence[fin] = temporaire;
}

Concaténation de chiffres

Pour assembler les éléments d'un tableau en un seul nombre, appliquez une multiplication par 10 à chaque étape :

int[] chiffres = {1, 2, 3, 4, 5};
int nombreFinal = 0;
for (int i = 0; i < chiffres.length; i++) {
    nombreFinal = nombreFinal * 10 + chiffres[i];
}
System.out.println("Nombre concaténé : " + nombreFinal);

Extraction des chiffres d'un entier

Pour décomposer un entier dans un tableau, déterminez d'abord sa longueur, puis extrayez chaque chiffre :

package exercices;

public class DecompositionEntier {
    public static void main(String[] args) {
        int valeur = 12345;
        int compteur = 0;
        int copie = valeur;
        while (copie != 0) {
            copie = copie / 10;
            compteur++;
        }
        int[] tableauChiffres = new int[compteur];
        int position = tableauChiffres.length - 1;
        int reste = valeur;
        while (reste != 0) {
            int digit = reste % 10;
            tableauChiffres[position] = digit;
            position--;
            reste = reste / 10;
        }
        for (int elem : tableauChiffres) {
            System.out.print(elem + " ");
        }
    }
}

Optimisation du code

Utilisez des raccourcis clavier pour améliorer la lisibilité : Ctrl + Alt + L pour formater le code, et Ctrl + Alt + T pour encapsuler des blocs de code. Les tableaux multidimensionnels permettnet une organisation structurée des données, avec des techniques spécifiques pour leur initialisation dynamique et leur parcours.

Étiquettes: Java Scanner Random tableaux Méthodes

Publié le 2 juin à 20h04