This shows you the differences between two versions of the page.
alf:laboratoare:01_fr_java [2023/03/05 17:31] alexandra.negoita02 [String] |
alf:laboratoare:01_fr_java [2023/03/07 02:51] (current) alexandra.negoita02 [Assignment] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== TP 1 - Structures de données en Java ====== | ====== TP 1 - Structures de données en Java ====== | ||
+ | |||
+ | ====== Assignment ====== | ||
+ | <note warning> | ||
+ | Vous devez **accepter** l'assignment d'ici est travailler avec ce **repository**: [[https://classroom.github.com/a/_ydXjvmv|Lab 1]] | ||
+ | </note> | ||
===== Tableaux ===== | ===== Tableaux ===== | ||
Line 63: | Line 68: | ||
===== Fonctions ===== | ===== Fonctions ===== | ||
- | En Java, toutes les methodes (ausi nommees //fonctions// doivent etre dans classes. | + | En Java, toutes les méthodes (ausi nommées //fonctions// doivent être dans classes. |
<code java> | <code java> | ||
public class Main { | public class Main { | ||
Line 76: | Line 81: | ||
===== Arguments de la ligne de commande ===== | ===== Arguments de la ligne de commande ===== | ||
- | Les arguments de la ligne de commande pour Java sont passes au programme dans un array **args**. Le tableau est un parametre pour la fonction //main//. | + | Les arguments de la ligne de commande pour Java sont passés au programme dans un array **args**. Le tableau est un paramètre pour la fonction //main//. |
<code java> | <code java> | ||
class Main { | class Main { | ||
Line 87: | Line 92: | ||
</code> | </code> | ||
| | ||
- | Pour donner des arguments dans la ligne de commande, on doit compiler (avec la commande **javac**) et executer (avec la commande **java**) le programme Java dans le **Terminal**. Pour l'exemple precedent, apres execution, le programme affichera les arguments donnees. | + | Pour donner des arguments dans la ligne de commande, on doit compiler (avec la commande **javac**) et executer (avec la commande **java**) le programme Java dans le **Terminal**. Pour l'exemple précèdent, après execution, le programme affichera les arguments données. |
<code bash> | <code bash> | ||
> javac Main.java | > javac Main.java | ||
Line 120: | Line 125: | ||
===== Exercices ===== | ===== Exercices ===== | ||
+ | |||
+ | <note warning> | ||
+ | N’oubliez pas de **télécharger sur GitHub** ce que vous avez résolu jusqu'à la **fin** du TP! | ||
+ | </note> | ||
- | - Créez un programme et exécutez-le avec des paramètres dans la ligne de commande. Sauvegardez la liste des parametres dans une variable. Affichez : (**1p**) | + | - Créez un programme et exécutez-le avec des paramètres dans la ligne de commande. Affichez : (**1p**) |
- la liste des paramètres avec //System.out.println()//; | - la liste des paramètres avec //System.out.println()//; | ||
- le nombre de paramètres; | - le nombre de paramètres; | ||
- | - les paramètres avec un //for//; | + | - les paramètres indexés, affichés avec un //for//; |
- Faites un programme qui contient une fonction //power// qui reçoit deux nombres comme paramètres, qui calcule la puissance et qui : (**1p**) | - Faites un programme qui contient une fonction //power// qui reçoit deux nombres comme paramètres, qui calcule la puissance et qui : (**1p**) | ||
- affiche le résultat | - affiche le résultat | ||
- retourne le résultat | - retourne le résultat | ||
- stocke le résultat dans une variable et l'affiche | - stocke le résultat dans une variable et l'affiche | ||
- | - A l'aide des interfaces, créez un nouveau type de données nommé Employé, qui contienne les champs suivants: //nom//, //prénom//, //département//, //expérience// (numéro) (**2p**) | + | - A l'aide des classes, créez un nouveau type de données nommé Employé, qui contienne les champs : //nom//, //prénom//, //département//, //expérience// (numéro) et les méthodes suivantes: (**2p**) |
- Créez un objet de type Employée qui recoit ses paramètres de la ligne de commande (''java Main.java NomEmp PrenomEmp ALF 3'') | - Créez un objet de type Employée qui recoit ses paramètres de la ligne de commande (''java Main.java NomEmp PrenomEmp ALF 3'') | ||
- Affichez chaque attribut de l'objet | - Affichez chaque attribut de l'objet | ||
Line 137: | Line 146: | ||
- Affichez la personne avec le prénom le plus longue | - Affichez la personne avec le prénom le plus longue | ||
- Affichez tous les objets en ordre alphabétique apres le nom de famille | - Affichez tous les objets en ordre alphabétique apres le nom de famille | ||
- | - Créez une classe Employé ayant les memes propriétés définies pour l'interface de l'exercice précedent (**1.5p**) | + | - Utilisez la même classe Employé de l'exercice précedent (**1.5p**) |
- Créez une sous-classe Manager, dérivée de la classe Employé, qui contient un champ supplémentaire //noSubordonnés// (number) | - Créez une sous-classe Manager, dérivée de la classe Employé, qui contient un champ supplémentaire //noSubordonnés// (number) | ||
- Créez un objet de type Manager | - Créez un objet de type Manager |