Derniers sujets






Java : Les entrées

Voir le sujet précédent Voir le sujet suivant Aller en bas

Java : Les entrées

Message  louis1806 le Mer 26 Déc - 9:34

Bienvenue dans cette suite de tutoriels, après avoir vu les variables, nous allons voir comment rendre le programme mieux utilisable, nous allons voir comment utiliser les entrées, nous allons par exemple demander à l'utilisateur d’entrer un chiffre.

Je vais vous proposer un petit script qui permettra de lire l'entrée de l'utilisateur, simplement, je vous demande pas pour l'instant de comprendre se script, nous l'étudierons surement plus tard!

Premièrement, nous allons créer une nouvelle class dans notre projet, Nous allons l'appeler Lire, nous ne cocherons pas la case "public static void main(String[] args)" puis on clique sur finish!

Maintenant vous allez effacer tous ce qu'il y a dedans puis copier-coller se code:
Code:
import java.io.*;
import java.io.*;
public class Lire
{
public static String S() // Lire un String
{
String tmp = "";
char C='\0';
try {
        while ((C=(char) System.in.read()) !='\n')
        {
          if (C != '\r')  tmp = tmp+C;
         
        }
  }   
 catch (IOException e)
        {
          System.out.println("Erreur de frappe");
          System.exit(0);
        }
 return tmp;
} // fin de S()

 public static byte b()  // Lire un entier byte
 {
        byte x=0;
                try {
                        x=Byte.parseByte(S());
                        }
                catch (NumberFormatException e) {
          System.out.println("Format numérique incorrect");
          System.exit(0);
    }   
          return x ;
 }       
         
 public static short s()  // Lire un entier short
 {
        short x=0;
                try {
                        x=Short.parseShort(S());
                        }
                catch (NumberFormatException e) {
          System.out.println("Format numérique incorrect");
          System.exit(0);
    }   
          return x ;
 }       
         
         
 public static int i()  // Lire un entier
 {
        int x=0;
                try {
                        x=Integer.parseInt(S());
                }       
                catch (NumberFormatException e) {
          System.out.println("Format numérique incorrect");
          System.exit(0);
    }   
          return x ;
 }       
         
 public static long l()  // Lire un entier long
 {
        long x=0;
                try {
                        x=Integer.parseInt(S());
                }       
                catch (NumberFormatException e) {
          System.out.println("Format numérique incorrect");
          System.exit(0);
    }   
          return x ;
 }       
         
         
 public  static double d()  // Lire un double
 {
        double x=0.0;
                try {
                        x=Double.valueOf(S()).doubleValue();
                }   
                catch (NumberFormatException e) {
          System.out.println("Format numérique incorrect");
          System.exit(0);
    }   
          return x ;
 }       
         
 public  static float f()  // Lire un float
 {
  float x=0.0f;
        try {
                x=Double.valueOf(S()).floatValue();
        }   
        catch (NumberFormatException e)
        {
          System.out.println("Format numérique incorrect");
          System.exit(0);
    }   
          return x ;
 }       
         
         
 public  static char c()  // Lire un caractere
 {
  String tmp=S();
  if (tmp.length()==0)
          return '\n';
  else   
                {
                return tmp.charAt(0);
                }
 }       
}

Maintenant nous allons retourner dans notre classe principale, la première que nous avons créer, Si vous ne comprenez pas tout ce qu'il y a dans la classe Lire, ce n'est pas grave!

Pour pouvoir lire une entrée (clavier), pour recevoir une information de la part de l'utilisateur,
CommandeType de variable
Lire.i()Entier
Lire.f()Float
Lire.b()Byte
Lire.s()Short
Lire.l()Long
Lire.c()Char

Maintenant voici comment on les utilise!
Code:
int x;
x = Lire.i();
Nous attendons que l'utilisateur entre un entier, x prend la valeur que l'utilisateur à entrée, si jamais il entre un nombre à virgule ou une chaine de caractère, une message d'erreur sera affiché, et le programme s'arrêtera.

nous retrouvons les même type de code pour les autres types de variables.

Passons aux exercices :


1.Écrire un programme qui demandera deux nombres entiers, additionner ces deux variables, afficher le résultat, soustraire ces variables et afficher le résultat
Code:
public class programme {
    public static void main(String[] args) {
        int x,y,z;
        System.out.println("Entrez un nombre entier");
        x = Lire.i()
        System.out.println("Entrez un nombre entier");
        y = Lire.i();
        z = x + y;
        System.out.println("Le résultat de x + y est " + z);
        z = x - y;
        System.out.println("Le résultat de x - y est " + z);
    }
}
2. Écrivez un programme qui demandera la valeur d'un rayon puis calculera le périmètre du cercle définit par se rayon. On utilisera Math.PI pour la valeur de pi. On utilisera des réels de type double pour stocker les nombres
Code:
public class main {
    public static void main(String[] args){
        double rayon, perimetre;
        rayon = Lire.d();
        perimetre = 2 * Math.PI * rayon;
        System.out.println(Le périmètre du cercle est de : " + perimetre);
    }
}
On pourra améliorer le programme en ajoutant l'aire du cercle dans une seconde phrase, ou dans une seul phrase finale! Je vous laisse faire...

Je vous retrouve prochainement pour les conditions
avatar
louis1806
Puit de science
Puit de science

Avertissement : aucun avertissement
Messages : 270
Date d'inscription : 17/06/2011
Age : 23
Localisation : Dijon

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum