Les fondamentaux du langage java, Study notes of Java Programming

Begin with langage java with th easiest way

Typology: Study notes

2021/2022

Uploaded on 07/22/2023

ismail-menaouer
ismail-menaouer 🇲🇦

1 document

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
MOOC Init Prog Java
Corriges semaine 1
Les corrigés proposés correspondent à l'ordre des apprentissages : c haque corrigé correspond à
la solution à laquelle vous pourriez aboutir au moyen des connaissances acquises jusqu'à la
semaine correspondante.
Exercice 1: Anné e de naissance (Opérateurs et expressions)
// Les directives import se placent en début de fichier
import java.util.Scanner;
class Age {
public static void main(String[] args) {
// on fera mieux plus tard !
final int ANNEE_COURANTE = 2016;
System.out.println("Donnez votre age : ");
Scanner input = new Scanner(System.in);
int age = input.nextInt();
int annee = ANNEE_COURANTE - age;
// A partir de la semaine prochaine on pourra tester
// si l'utilisateur ne nous dit pas de bêtise sur son âge !
System.out.println("Votre annee de naissance est : " + annee);
}
}
Cette solution utilise le bagage actuel : celui avec lequel vous ne savez mettre des instructions
que dans le corps de la méthode main. L'objet input de type Scanner qui permet de lire des
données introduites depuis le terminal est déclaré et initialisé dans la méthode main.
Note: si vous procédez de cette manière, et que vous travaillez sous Eclipse, un message de
mise en garde sera généré pour vous indiquer que input n'a pas été fermé. Les causes de ce
message dépassent les notions vues dans le cadre de ce cours d'introduction et ce message
n'aura aucune incidence sur l'exécution de votre programme. Pour l'éviter il suffira d'ajouter
l'instruction input.close(); avant la dernière accolade de main; c 'est à dire juste après le
dernier System.out.println(...) dans le code précédent.
Notez à ce propos, qu'il est possible de déclarer-initialiser cet objet en dehors de main, c omme
ceci :
class AgeBis {
// l'objet input est déclaré ici et plus dans le corps de main
private static Scanner input = new Scanner(System.in);
pf3
pf4
pf5

Partial preview of the text

Download Les fondamentaux du langage java and more Study notes Java Programming in PDF only on Docsity!

MOOC Init Prog Java

Corriges semaine 1

Les corrigés proposés correspondent à l'ordre des apprentissages : chaque corrigé correspond à

la solution à laquelle vous pourriez aboutir au moyen des connaissances acquises jusqu'à la

semaine correspondante.

Exercice 1: Année de naissance (Opérateurs et expressions)

// Les directives import se placent en début de fichier import java.util.Scanner; class Age { public static void main(String[] args) { // on fera mieux plus tard! final int ANNEE_COURANTE = 2016 ; System.out.println("Donnez votre age : "); Scanner input = new Scanner(System.in); int age = input.nextInt(); int annee = ANNEE_COURANTE - age; // A partir de la semaine prochaine on pourra tester // si l'utilisateur ne nous dit pas de bêtise sur son âge! System.out.println("Votre annee de naissance est : " + annee); } }

Cette solution utilise le bagage actuel : celui avec lequel vous ne savez mettre des instructions

que dans le corps de la méthode main. L'objet input de type Scanner qui permet de lire des

données introduites depuis le terminal est déclaré et initialisé dans la méthode main.

Note : si vous procédez de cette manière, et que vous travaillez sous Eclipse, un message de

mise en garde sera généré pour vous indiquer que input n'a pas été fermé. Les causes de ce

message dépassent les notions vues dans le cadre de ce cours d'introduction et ce message

n'aura aucune incidence sur l'exécution de votre programme. Pour l'éviter il suffira d'ajouter

l'instruction input.close(); avant la dernière accolade de main; c'est à dire juste après le

dernier System.out.println(...) dans le code précédent.

Notez à ce propos, qu'il est possible de déclarer-initialiser cet objet en dehors de main, comme

ceci :

class AgeBis { // l'objet input est déclaré ici et plus dans le corps de main private static Scanner input = new Scanner(System.in);

public static void main(String[] args) { final int ANNEE_COURANTE = 2016 ; // on fera mieux plus tard! System.out.println("Donnez votre age : "); int age = input.nextInt(); int annee = ANNEE_COURANTE - age; // a partir de la semaine prochaine on pourra tester // si l'utilisateur ne nous dit pas de betise sur son age! System.out.println("Votre annee de naissance est : " + annee); } }

C'est sous cette forme que vous le trouverez donc parfois dans certains corrigés à venir.

Cela peut avoir du sens à partir du moment où nous utiliserons la notion de fonctions/méthodes

(un peu plus tard dans le cours).

Pour le moment les mots clés static et private ne vous disent rien. Cela deviendra plus

clair dès que les fondamentaux de la POO seront abordés.

Exercice 3: Expression polynômiale (Opérateurs et expressions)

Le but est d'écrire un petit programme permettant d'évaluer un polynôme du 3ème degré de la

forme:

(( a + b )/2) x^3 + ( a + b )^2 x^2 + a + b + c

On commence par lire les coefficients du polynôme:

import java.util.Scanner; class Degre3 { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.print("Entrez le coefficient a (int): "); int a = scanner.nextInt(); System.out.print("Entrez le coefficient b (int) "); int b = scanner.nextInt(); System.out.print("Entrez le coefficient c (int) "); int c = scanner.nextInt(); } }

on fait pareil pour la variable, mais cette fois c'est un double:

import java.util.Scanner; class Degre3 { private static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.print("Entrez le coefficient a (int): "); int a = scanner.nextInt(); System.out.print("Entrez le coefficient b (int) "); int b = scanner.nextInt(); System.out.print("Entrez le coefficient c (int) "); int c = scanner.nextInt(); System.out.print("Entrez la valeur de la variable x (double) "); double x = scanner.nextDouble(); } }

Ensuite il faut coder la formule. On peut remarquer alors que a+b et x*x interviennent

plusieurs fois dans le calcul. Pour éviter d'avoir à les recalculer deux fois, on peut les stocker

dans des variables intermédiaires. On fait ensuite le calcul et on affiche le résultat:

import java.util.Scanner; class Degre3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Entrez le coefficient a (int) : "); int a = scanner.nextInt(); System.out.print("Entrez le coefficient b (int) : "); int b = scanner.nextInt();

System.out.print("Entrez le coefficient c (int) : "); int c = scanner.nextInt(); System.out.print("Entrez la valeur de la variable x (double) : "); double x = scanner.nextDouble(); double xx = x * x; double aux = a + b; double valeur = aux/ 2 * x * xx + aux * aux * xx + aux +c; System.out.println("La valeur de l'expression est: " + valeur); scanner.close(); } }

Attention! Pour que le calcul de (a+b)/2 se fasse correctement (sans troncature due à la

division entière), il est indispensable que la variable intermédiaire aux soit déclarée comme

double.

Exercice 5: Un peu de tout, division d'entiers (Opérateurs et expressions)

import java.util.Scanner; class RosesBlanches { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); // Entrée de données System.out.print("Combien avez-vous reçu d'argent (Frs):) "); int budget = scanner.nextInt(); // Calcul du budget livres & fournitures int budgetLivres = budget * 3 / 4 ; int resteBudget = budget - budgetLivres; // Calcul du budget pour les trois autres rubriques int autre = resteBudget / 3 ; // Calcul du nombre de cafés int nbcafes = autre / 2 ; // Calcul du nombre de numéros du Flash int nbFlash = autre / 4 ; // Calcul du nombre de billets de TSOL int nbBillets = autre / 3 ; // Calcul de l'argent restant int reste = autre % 2 + autre % 4 + autre % 3 + resteBudget % 3 ; // Affichage des résultats System.out.println("Livres et Fournitures: " + budgetLivres + " Frs."); System.out.println("Vous pouvez ensuite acheter:"); System.out.println(" " + nbcafes + " cafés à Sat"); System.out.println(" " + nbFlash + " numéros du Flash"); System.out.println(" " + nbBillets + " billets de métro"); System.out.println("et il vous restera " + reste + " Frs pour les roses blan scanner.close(); } }