-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMethodsToValidate.java
More file actions
48 lines (42 loc) · 1.5 KB
/
MethodsToValidate.java
File metadata and controls
48 lines (42 loc) · 1.5 KB
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
46
47
48
import java.util.Scanner;
public class MethodsToValidate{
public static void main(String[] args ){
/*
* pseudocode :
* demander des valeurs numériques
* vérifier que les réponses sont valides
* arrêter quand une valeur spécifique est entrée, sinon répéter la demande
* calculer la somme des valeurs numériques
*/
// Invite de commande
System.out.println("Entrer un nombre ou -99 pour arrêter");
// Traitement
double sum = 0;
double val;
do {
val = getDouble();
sum += val;
} while (val != -99);
sum += 99;
// Afficher le résultat
System.out.println("La somme de ces nombres est " + sum);
}
static double getDouble() {
Scanner input = new Scanner( System.console().reader() );
System.out.print("> "); // invite de valeur
String next = input.next(); // saisir la valeur
return definitelyADouble( next ); // retourner la valeur convertie
}
static double definitelyADouble( String s ) {
// bloc try-catch, quand on tente de faire quelque chose
// qui peut faire planter le programme
// si le programme plante, il va dans le bloc catch au lieu
// de s'arrêter
try{
return Double.parseDouble(s);
} catch (Exception e) {
System.out.println(" ;-( Pas un nombre valide");
return getDouble();
}
}
}