Exercice Java : Manipulation des Tableaux
Cet exercice basé sur l'utilisation des tableaux en Java. Il couvre les méthodes equals()
, ==
, !=
, et les opérations de manipulation de tableaux. L'exercice utilise un tableau de notes pour différentes évaluations d'un étudiant nommé Bob, dans plusieurs matières (par exemple : structure de données, bases de données, Java).
SITUATION PROBLEME
Bob a passé six évaluations dans trois matières : structure de données, bases de données, et Java. Chaque évaluation est notée sur 20. Les résultats de Bob sont enregistrés dans des tableaux à une dimension. Tu devras comparer ces notes, les manipuler, et vérifier leur égalité ou inégalité, tout en explorant des fonctionnalités propres aux tableaux en Java.
Enoncé complet
Voici un tableau contenant les notes de Bob :
- Structure de données :
{15, 18, 12, 17, 14, 16}
- Bases de données :
{14, 16, 13, 15, 16, 18}
- Java :
{12, 15, 13, 14, 16, 15}
Questions
1. Déclarer et initialiser les tableaux :
Déclare trois tableaux notesStructure
, notesBD
, et notesJava
pour représenter respectivement les notes de Bob en structure de données, bases de données, et Java. Assigne les valeurs données ci-dessus à ces tableaux.
int[] notesStructure = {15, 18, 12, 17, 14, 16};
int[] notesBD = {14, 16, 13, 15, 16, 18};
int[] notesJava = {12, 15, 13, 14, 16, 15};
2. Comparer deux tableaux avec ==
:
Utilise l’opérateur ==
pour comparer notesStructure
et notesBD
. Que renvoie cette comparaison ? Explique pourquoi.
System.out.println(notesStructure == notesBD); // false
3. Comparer le contenu des tableaux avec Arrays.equals()
:
Utilise Arrays.equals()
pour comparer les tableaux notesStructure
et notesBD
. Que renvoie cette comparaison ? Explique pourquoi.
System.out.println(Arrays.equals(notesStructure, notesBD)); // false
4. Comparer des notes spécifiques avec ==
et !=
:
Compare la première note (indice 0) de notesStructure
et de notesBD
en utilisant ==
et !=
. Que signifient les résultats obtenus ?
System.out.println(notesStructure[0] == notesBD[0]); // false
System.out.println(notesStructure[0] != notesBD[0]); // true
5. Trouver la meilleure note en structure de données :
Écris un programme qui parcourt le tableau notesStructure
et trouve la meilleure note obtenue par Bob en structure de données.
int meilleureNoteStructure = notesStructure[0];
for (int i = 1; i < notesStructure.length; i++) {
if (notesStructure[i] > meilleureNoteStructure) {
meilleureNoteStructure = notesStructure[i];
}
}
System.out.println("Meilleure note en Structure de données : " + meilleureNoteStructure); // 18
6. Copier les notes de Java dans un nouveau tableau :
Crée un nouveau tableau notesJavaCopy
qui est une copie des notes de Bob en Java. Utilise une boucle for
pour faire cette copie.
int[] notesJavaCopy = new int[notesJava.length];
for (int i = 0; i < notesJava.length; i++) {
notesJavaCopy[i] = notesJava[i];
}
7. Comparer un tableau et sa copie avec ==
et Arrays.equals()
:
Compare notesJava
et notesJavaCopy
avec ==
et Arrays.equals()
. Explique les résultats.
System.out.println(notesJava == notesJavaCopy); // false
System.out.println(Arrays.equals(notesJava, notesJavaCopy)); // true
8. Remplacer une note en Java :
Modifie la troisième note (indice 2) dans le tableau notesJava
pour lui attribuer la valeur 18. Affiche le tableau modifié.
notesJava[2] = 18;
System.out.println(Arrays.toString(notesJava)); // [12, 15, 18, 14, 16, 15]
9. Calculer la moyenne des notes de Bob en bases de données :
Écris un programme pour calculer et afficher la moyenne des notes de Bob en bases de données.
int sommeBD = 0;
for (int i = 0; i < notesBD.length; i++) {
sommeBD += notesBD[i];
}
double moyenneBD = (double) sommeBD / notesBD.length;
System.out.println("Moyenne en Bases de données : " + moyenneBD); // 15.33
10. Vérifier si Bob a une note parfaite en Java :
Écris un programme qui vérifie si Bob a obtenu la note maximale de 20 dans l'une des évaluations de Java.
boolean noteParfaite = false;
for (int i = 0; i < notesJava.length; i++) {
if (notesJava[i] == 20) {
noteParfaite = true;
break;
}
}
System.out.println("Bob a-t-il une note parfaite en Java ? " + noteParfaite); // false
Passer à la question suivante