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.