0% ont trouvé ce document utile (0 vote)
17 vues7 pages

Exception

Le document décrit la création d'une classe Clavier pour lire des entiers depuis le clavier et une classe Temps qui gère les heures, minutes et secondes avec validation. Si les valeurs saisies sont invalides, une exception TempsException est lancée. Le programme principal permet de saisir ces valeurs et d'afficher le temps ou un message d'erreur en cas de saisie incorrecte.

Transféré par

Eya KHammar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues7 pages

Exception

Le document décrit la création d'une classe Clavier pour lire des entiers depuis le clavier et une classe Temps qui gère les heures, minutes et secondes avec validation. Si les valeurs saisies sont invalides, une exception TempsException est lancée. Le programme principal permet de saisir ces valeurs et d'afficher le temps ou un message d'erreur en cas de saisie incorrecte.

Transféré par

Eya KHammar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

6: public void ohNo(ArithmeticException ae)_______ Exception {

7: if(ae==null) ______________ Exception();


8: else ______________ ae;
9: }

A. On line 6, fill in throw


B. On line 6, fill in throws
C. On line 7, fill in throw
D. On line 7, fill in throw new

E. On line 8, fill in throw


F. On line 8, fill in throw new

29
1: public class DoSomething {
2: public void go() {
3: System.out.print("A");
4: try {
5: stop(); A. AE
6: } catch (ArithmeticException e) {
7: System.out.print("B"); B. AEBCD
8: } finally { C. AEC
9: System.out.print("C");
10: } D. AECD
11: System.out.print("D"); E. AE followed by a stack trace
12: }
13: public void stop() { F. AEBCD followed by a stack trace
14: System.out.print("E");
G. AEC followed by a stack trace
15: Object x = null;
16: x.toString(); H. A stack trace with no other output
17: System.out.print("F");
18: }
19: public static void main(String n[]) {
20: new DoSomething().go();
21: }
22: } 30
1: public class Dog {
1: public class Laptop {
2: public String name;
2: public void start() {
3: public void runAway() {
3: try { 4: System.out.print("1");
4: System.out.print("Starting up_"); 5: try {
5: throw new Exception(); 6: System.out.print("2");
6: } catch (Exception e) { 7: int x = Integer.parseInt(name);
7: System.out.print("Problem_"); 8: System.out.print("3");
8: System.exit(0); 9: } catch (NumberFormatException e) {
9: } finally { 10: System.out.print("4");
10: System.out.print("Shutting down"); 11: }
11: } 12: }
12: } 13: public static void main(String...
13: public static void main(String[] w) { args) {
14: new Laptop().start(); 14: Dog webby = new Dog();
15: } } 15: webby.name = "Webby";
16: webby.runAway();
17: System.out.print("5");
A. Starting up_ 18: } }
B. Starting up_Problem_ A. 1234
C. Starting up_Problem_Shutting down B. 1235
D. Starting up_Shutting down C. 124
D. 1245 31
▪ Développer une classe Clavier qui permet de lire un entier à partir du clavier.
o Cette classe définie une méthode statique int lireInt(String message) et un attribut statique
scanner de type Scanner
▪ Développer la classe Temps caractérisé par trois attributs heures, minutes, secondes
▪ La création de l’objet Temps lance une exception TempsException si la valeur heures, minutes
ou secondes est erronée
▪ Développer donc la classe TempsException
▪ Développer une méthode main qui permet de
o saisir à partir du clavier 3 entiers h, m et s en utilisant la classe Clavier

o créer un objet de type Temps


o afficher les informations du temps si les valeurs h, m et s sont correctes,

o sinon afficher un message d’erreur indiquant que la valeur saisie est erronée
32
▪ Exemples d’exécution:
Entrez les heures (0-23) : 10
Entrez les minutes (0-59) : 15
Entrez les secondes (0-59) : 11
Temps saisi : 10:15:11

Entrez les heures (0-23) : 12


Entrez les minutes (0-59) : 30
Entrez les secondes (0-59) : 60
Erreur : Secondes invalides : 60. Les
secondes doivent être entre 0 et 59.

33
package exerciceClasse;

import java.util.Scanner;

public class Clavier {


private static final Scanner scanner = new Scanner(System.in);

public static int lireInt(String message) {


System.out.print(message);
while (!scanner.hasNextInt()) {
System.out.println("Veuillez entrer un nombre entier.");
scanner.next(); // Ignorer l'entrée non valide
System.out.print(message);
}
return scanner.nextInt();
}
}

package exerciceClasse;

public class Main {


public static void main(String[] args) {
try {
// Lecture des valeurs à partir du clavier
int heures = Clavier.lireInt("Entrez les heures (0-23) : ");
int minutes = Clavier.lireInt("Entrez les minutes (0-59) : ");
int secondes = Clavier.lireInt("Entrez les secondes (0-59) : ");

// Création d'un objet Temps


Temps temps = new Temps(heures, minutes, secondes);

// Affichage des informations du temps


System.out.println("Temps saisi : " + temps);

} catch (TempsException e) {
// Gestion des erreurs
System.out.println("Erreur : " + e.getMessage());
}
}
}
package exerciceClasse;

public class Temps {


private int heures;
private int minutes;
private int secondes;

public Temps(int heures, int minutes, int secondes) throws TempsException {


if (heures < 0 || heures > 23) {
throw new TempsException("Heures invalides : " + heures + ". Les
heures doivent être entre 0 et 23.");
}
if (minutes < 0 || minutes > 59) {
throw new TempsException("Minutes invalides : " + minutes + ". Les
minutes doivent être entre 0 et 59.");
}
if (secondes < 0 || secondes > 59) {
throw new TempsException("Secondes invalides : " + secondes + ". Les
secondes doivent être entre 0 et 59.");
}

this.heures = heures;
this.minutes = minutes;
this.secondes = secondes;
}

@Override
public String toString() {
return String.format("%02d:%02d:%02d", heures, minutes, secondes);
}
}

package exerciceClasse;

public class TempsException extends Exception {


public TempsException(String message) {
super(message);
}
}

Vous aimerez peut-être aussi