A voir également:
- Exercice de java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Jeux java itel touche - Forum Mobile
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 déc. 2010 à 12:02
19 déc. 2010 à 12:02
Pour l'utilisation du clavier, regarde du côté de Scanner(System.in)
En particulier Scanner.nextInt() vu ce que tu veux faire.
Pour l'affichage System.out.println(int) et c'est fini...
En particulier Scanner.nextInt() vu ce que tu veux faire.
Pour l'affichage System.out.println(int) et c'est fini...
la classe Clavier tu p la laisser dans le code de la classe SommeChiffre ou si tu veux faire plus proprement tu la met dans un fichier separé que tu me dans le meme repertoire que SommeChiffre ou mieux tu creer un package Clavier que tu importe apres dans SommeChiffre et en configurant ton environnement en consequence.
G te fourni le code source des class dans le meme fichier. Celle de Clavier, g les trouver dans un livre de Claude Delanoy que je possede.
G te fourni le code source des class dans le meme fichier. Celle de Clavier, g les trouver dans un livre de Claude Delanoy que je possede.
/* classe fournissant des fonctions de lecture au clavier inspiré du livre de Claude Delanoy */ import java.io.* ; class Clavier { public static String lireString () // lecture d'une chaine { String ligne_lue = null ; try { InputStreamReader lecteur = new InputStreamReader (System.in) ; BufferedReader entree = new BufferedReader (lecteur) ; ligne_lue = entree.readLine() ; } catch (IOException err) { System.exit(0) ; } return ligne_lue ; } public static float lireFloat () // lecture d'un float { float x=0 ; // valeur a lire try { String ligne_lue = lireString() ; x = Float.parseFloat(ligne_lue) ; } catch (NumberFormatException err) { System.out.println ("*** Erreur de donnee ***") ; System.exit(0) ; } return x ; } public static double lireDouble () // lecture d'un double { double x=0 ; // valeur a lire try { String ligne_lue = lireString() ; x = Double.parseDouble(ligne_lue) ; } catch (NumberFormatException err) { System.out.println ("*** Erreur de donnee ***") ; System.exit(0) ; } return x ; } public static int lireInt () // lecture d'un int { int n=0 ; // valeur a lire try { String ligne_lue = lireString() ; n = Integer.parseInt(ligne_lue) ; } catch (NumberFormatException err) { System.out.println ("*** Erreur de donnee ***") ; System.exit(0) ; } return n ; } }/* fin class Clavier ***/ public class SommeChiffre{ public static int sommeChiffre(int nombre){ int sc=0; while(nombre != 0) { sc += nombre%10; nombre /= 10; } return sc; } public static void main(String[] args){ System.out.print ("donnez un entier: ") ; int n ; n = Clavier.lireInt() ; System.out.println ("merci pour " + n) ; System.out.println ("la somme de ces chiffres est: " +sommeChiffre(n)) ; } }
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 19/12/2010 à 15:42
Modifié par KX le 19/12/2010 à 15:42
A quoi ça sert de réinventer la roue ? Scanner fait déjà ce que fait cette classe Clavier...
Alors autant utiliser les classes standards (donc optimales !)
De plus, il y a plus malin pour calculer la somme des chiffres : puisqu'on fait une entrée au clavier, on obtient une chaines de caractères, dans notre cas une succession de chiffres, il suffit donc de lire caractère par caractère (chiffre par chiffre) pour faire la somme...
Alors autant utiliser les classes standards (donc optimales !)
De plus, il y a plus malin pour calculer la somme des chiffres : puisqu'on fait une entrée au clavier, on obtient une chaines de caractères, dans notre cas une succession de chiffres, il suffit donc de lire caractère par caractère (chiffre par chiffre) pour faire la somme...
import java.util.Scanner; public static void main(String args[]) { System.out.print("Entrez un nombre : "); String s=new Scanner(System.in).nextLine(); int n=0; for (int i=0; i<s.length(); i++) n+= s.charAt(i) - '0'; System.out.println("Somme des chiffres : "+n); }
effectivement il est tt a fait possible d'utiliser ta methode. C juste par souci de compatibilité avec java < a java 5.0 que moi je prefere utiliser cette classe car j'ai deja utiliser la classe Scanner sur un projet et quand je les fait tourner en presentation du projet; mon programme ne fonctionnait plus et comme je savais pas que c'etais du a la version de java; j'ai passé un sale moment et depuis je ne m'en sert plus. donc c juste une kestion de choix.