Cet exercice ne nécessite pas de corrigé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// 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 = 2024; 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); } } |
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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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 = 2024; // 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import java.util.Scanner; public class Fondue { public static void main(String[] args) { final int BASE = 4; // nombre de personnes pour la recette de base // Pour faire une fondue fribourgeoise pour 4 personnes il faut : double fromage = 800; // 800gr de Vacherin fribourgeois double eau = 2; // 2dl d'eau double ail = 2; // 2 gousses d'ail double pain = 400; // 400 gr de pain /* On supposera pour cet exercice que l'utilisateur ne saisit que des * valeurs strictement positives, mais nous pourrons faire mieux dès * la semaine prochaine */ System.out.print("Entrez le nombre de personne(s) conviée(s) à la fondue : "); Scanner clavier = new Scanner(System.in); int nbConvives = clavier.nextInt(); // Mise à jour des quantités en fonction du nombre de convives : double ratio = nbConvives; // .. Notez le 'double' indispensable // pour éviter la division entière ratio /= BASE; fromage *= ratio; eau *= ratio; ail *= ratio; pain *= ratio; System.out.println(); System.out.print("Pour faire une fondue fribourgeoise pour " + nbConvives + " personne(s), "); System.out.println("il vous faut : "); System.out.println(" - " + fromage + " gr de Vacherin fribourgeois"); System.out.println(" - " + eau + " dl d'eau"); System.out.println(" - " + ail + " gousse(s) d'ail"); System.out.println(" - " + pain + " gr de pain"); System.out.println(" - du poivre à volonté"); clavier.close(); } } |
Le but est d'écrire un petit programme permettant d'évaluer un polynôme du 3ème
degré de la forme:
((a+b)/2)x3 + (a+b)2x2 + 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(); } } |
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(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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(); } } |
Dans le premier cas l'incrémentation se fait après l'évaluation de l'expression et dans l'autre avant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.Scanner; class Permutation { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Entrez x: "); int x = scanner.nextInt(); System.out.print("Entrez y: "); int y = scanner.nextInt(); System.out.println("Avant permutation: "); System.out.println("x : " + x); System.out.println("y : " + y); int tmp = x; x = y; y = tmp; System.out.println("Après permutation: "); System.out.println("x : " + x); System.out.println("y : " + y); scanner.close(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
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 blanches."); scanner.close(); } } |
Dernière mise à jour: 20/09/2024 (Revision: 1.2)