IFT 1810 : premier exemple d`introduction

publicité
Saisie des données tapées au clavier :
En Java, La lecture au clavier a été simplifié à partir de la
version 1.5 avec l’utilisation d’un objet Scanner et de ses
méthodes.
Pour les versions antérieures, la lecture des données est assez
compliquée. Pour favoriser l’apprentissage, j’écris une petite
classe du nom "Utile.Java". En classe et aussi à la démonstration,
on va vous montrer la façon d’utiliser cette classe afin de lire
un entier ou un réel ou un caractère ou une chaîne de caractères
que l’usager a tapé au clavier.
Selon la version de Java que vous utilisez, vous pourrez utilisez
une approche ou l’autre dans vos travaux, par contre, pour les
examens, il sera présumé que vous connaissez Scanner.
Exemple 1 :
/**
*
Fichier Clavier1.java :Ce programme permet de saisir 3 âges tapés au
* clavier. Il détermine et affiche l'âge le plus grand
*/
import java.io.*;
public class Clavier1
{
public static void main (String[] args) throws IOException
{
int age1, age2, age3, ageMax ;
// saisir les 3 âges tapés au clavier
age1 = Utile.lireEntier("Tapez l'age de la premiere personne ");
age2 = Utile.lireEntier("Tapez l'age de la deuxieme personne ");
age3 = Utile.lireEntier("Tapez l'age de la troisieme personne ");
// déterminer d'abord l'âge le plus grand entre les 2 premiers
if (age1 > age2)
ageMax = age1 ;
else
ageMax = age2 ;
if (age3 > ageMax)
ageMax = age3 ;
// ajuster l'âge maximum si nécessaire
System.out.println("Age maximum entre " + age1 + ", " + age2 +
" et " + age3 + " est : " + ageMax + " ans");
}
}
/* Exécution:
Tapez l'age de la
Tapez l'age de la
Tapez l'age de la
Age maximum entre
*/
premiere personne 25
deuxieme personne 49
troisieme personne 18
25, 49 et 18 est : 49 ans
IFT 1870, hiver 2002, campus Université de Montréal
Saisie des données tapées au clavier (classe Utile.java, par LE VAN N)
33
Exemple 1 avec Scanner :
import java.util.Scanner;
public class Scanner1
{
public static void main (String[] args)
{
int age1, age2, age3, ageMax ;
Scanner clavier = new Scanner(System.in);
// saisir les 3 âges tapés au clavier
System.out.print("Tapez l'age de la premiere personne ");
age1 = clavier.nextInt();
System.out.print("Tapez l'age de la deuxieme personne ");
age2 = clavier.nextInt();
System.out.print("Tapez l'age de la troisieme personne ");
age3 = clavier.nextInt();
// déterminer d'abord l'âge le plus grand entre les 2 premiers
if (age1 > age2)
ageMax = age1 ;
else
ageMax = age2 ;
if (age3 > ageMax)
ageMax = age3 ;
// ajuster l'âge maximum si nécessaire
System.out.println("Age maximum entre " + age1 + ", " + age2 +
" et " + age3 + " est : " + ageMax + " ans");
}
}
Exemple 2 :
/**
*
*
*
*
*
*
*
*
*
*/
Fichier Clavier2.java
Ce programme permet de :
- saisir le rayon d'un cercle, calculer et afficher
le périmètre (2 x PI x rayon où PI = 3.1415...)
et la surface du cercle ( PI x (rayon au carré)
- saisir le côté d'un carré, calculer et afficher
le périmètre (4 x côté) et la surface du carré
(côté x côté)
import java.io.*;
public class Clavier2
{
public static void main (String[] args) throws IOException
{
double rayon, cote, perimetre, surface;
// saisir le rayon du cercle
rayon = Utile.lireReel("Tapez le rayon d'un cercle ");
IFT 1870, hiver 2002, campus Université de Montréal
Saisie des données tapées au clavier (classe Utile.java, par LE VAN N)
34
// calculer le périmètre et la surface :
perimetre = 2 * Math.PI * rayon ;
surface = Math.PI * Math.pow( rayon, 2.0);
// Afficher les informations du cercle :
System.out.println("Pour un cercle de rayon : " + rayon);
System.out.println(" - le perimetre : " + perimetre);
System.out.println(" - la surface
: " + surface);
// saisir le côté du carré :
cote = Utile.lireReel("Tapez le cote d'un carre ");
// calculer le périmètre et la surface :
perimetre = 4 * cote ;
surface = cote * cote ;
// Afficher les informations du carré :
System.out.println("Pour un carre de cote : " + cote);
System.out.println(" - le perimetre : " + perimetre);
System.out.println(" - la surface
: " + surface);
}
}
/* Exécution:
Tapez le rayon d'un cercle 10.0
Pour un cercle de rayon : 10.0
- le perimetre : 62.83185307179586
- la surface
: 314.1592653589793
Tapez le cote d'un carre 5
Pour un carre de cote : 5.0
- le perimetre : 20.0
- la surface
: 25.0
*/
Exemple 2 avec Scanner :
import java.util.Scanner;
public class Scanner2
{
public static void main (String[] args)
{
Scanner clavier = new Scanner(System.in);
double rayon, cote, perimetre, surface;
// saisir le rayon du cercle
System.out.print("Tapez le rayon d'un cercle ");
rayon = clavier.nextDouble();
// calculer le périmètre et la surface :
perimetre = 2 * Math.PI * rayon ;
surface = Math.PI * Math.pow( rayon, 2.0);
IFT 1870, hiver 2002, campus Université de Montréal
Saisie des données tapées au clavier (classe Utile.java, par LE VAN N)
35
// Afficher les informations du cercle :
System.out.println("Pour un cercle de rayon : " + rayon);
System.out.println(" - le perimetre : " + perimetre);
System.out.println(" - la surface
: " + surface);
// saisir le côté du carré :
System.out.print("Tapez le cote d'un carre ");
cote = clavier.nextDouble();
// calculer le périmètre et la surface :
perimetre = 4 * cote ;
surface = cote * cote ;
// Afficher les informations du carré :
System.out.println("Pour un carre de cote : " + cote);
System.out.println(" - le perimetre : " + perimetre);
System.out.println(" - la surface
: " + surface);
}
}
Exemple 3 :
/**
*
*
*
*
*
*/
Fichier Clavier3.java
Ce programme permet de :
- saisir le sexe d’une personne (f ou m) ainsi que
son nom et afficher le nom et le sexe en mot
(feminin ou masculin)
import java.io.*;
public class Clavier3
{
public static void main (String[] args) throws IOException
{
char sexe ;
String nomPre ;
// saisir un caractère représentant le sexe :
sexe = Utile.lireCaractere("Tapez f, F, m ou M pour le sexe ");
// saisir `le nom et prénom
nomPre = Utile.lireChaine("Tapez le nom et prenom ");
// Afficher les informations de la personne :
System.out.println("\nSexe de " + nomPre);
if (sexe == 'f' || sexe == 'F')
System.out.println(" - feminin");
else if (sexe == 'm' || sexe == 'M')
System.out.println(" - masculin");
else
System.out.println(" - est indetermine");
}
}
IFT 1870, hiver 2002, campus Université de Montréal
Saisie des données tapées au clavier (classe Utile.java, par LE VAN N)
36
/* Exécution:
Tapez f, F, m ou M pour le sexe f
Tapez le nom et prenom Laliberte Lise
Sexe de Laliberte Lise
- feminin
Tapez f, F, m ou M pour le sexe m
Tapez le nom et prenom Chartrand Pierre
Sexe de Chartrand Pierre
- masculin
Tapez f, F, m ou M pour le sexe z
Tapez le nom et prenom Baba Ali
Sexe de Baba Ali
- est indetermine
*/
Exemple 3 avec Scanner :
import java.util.Scanner;
public class Scanner3
{
public static void main (String[] args)
{
Scanner clavier = new Scanner(System.in);
char sexe ;
String nomPre, temp ;
// saisir un caractère représentant le sexe :
System.out.print("Tapez f, F, m ou M pour le sexe ");
temp = clavier.nextLine();
sexe = temp.trim().charAt(0); /*permier caractère après
avoir enlevé les séparateurs */
// saisir `le nom et prénom
System.out.print("Tapez le nom et prenom ");
nomPre = clavier.nextLine();
// Afficher les informations de la personne :
System.out.println("\nSexe de " + nomPre);
if (sexe == 'f' || sexe
System.out.println("
else if (sexe == 'm' ||
System.out.println("
else
System.out.println("
== 'F')
- feminin");
sexe == 'M')
- masculin");
- est indetermine");
}
}
IFT 1870, hiver 2002, campus Université de Montréal
Saisie des données tapées au clavier (classe Utile.java, par LE VAN N)
37
Téléchargement