Comment puis-je éviter de déclarer 1001 objets

obseko Messages postés 2 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 11 novembre 2003 - 7 nov. 2003 à 22:08
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 15 nov. 2003 à 23:58
Voici mon probleme. je doit écrire une classe java qui permette d'arrondir un nombre à décimal désirée. je doit devez demander le nombre à arrondir ainsi que le nombre de décimales désirées. la classe affiche le résultat arrondi. Je veus éviter de déclarer 1001 objets (dec1,dec2..etc..)

import javax.swing.JOptionPane;
import java.text.DecimalFormat;
class Arrondissement {

double nombre;
int nbDecimal;

DecimalFormat dec1 = new DecimalFormat("0.0");
DecimalFormat dec2 = new DecimalFormat("0.00");
DecimalFormat dec3 = new DecimalFormat("0.000");
DecimalFormat dec4 = new DecimalFormat("0.0000");
DecimalFormat dec5 = new DecimalFormat("0.00000");

public Arrondissement() {

nombre = Double.parseDouble(JOptionPane.showInputDialog("Entrez votre nombre:"));
nbDecimal = Integer.parseInt(JOptionPane.showInputDialog("Entrez le nombre de décimal:"));

if (nbDecimal <= 1) JOptionPane.showMessageDialog(null,"Votre nombre est: " +dec1.format(nombre));
else if (nbDecimal <= 2) JOptionPane.showMessageDialog(null,"Votre nombre est: " +dec2.format(nombre));
else if (nbDecimal <= 3) JOptionPane.showMessageDialog(null,"Votre nombre est: " +dec3.format(nombre));
else if (nbDecimal <= 4) JOptionPane.showMessageDialog(null,"Votre nombre est: " +dec4.format(nombre));
else if (nbDecimal >= 5) JOptionPane.showMessageDialog(null,"Votre nombre est: " +dec5.format(nombre));

System.exit(0);
}
}
:-p :-p :-p :-p :-p

2 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
10 nov. 2003 à 14:02
:big) Neodante :big)

La solution : parse ta chaine, tu veux 2 chiffres après la virgule alors ça met "0.00", 3 "0.000" une simple boucle for suffit ! A chaque itération tu rajoute un "0" ...
De cette manière un seul objet suffit !
Juste un truc évite les fautes d'orthographe : veus -> veuX et doit -> doiS ! :-p
@+
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
15 nov. 2003 à 23:58
GodConan :clown)
pour les fotes t en fait pas j avai meme pas vu ;o) hihi.
otremen la soluce et evidente ;o) tou processuce incrémentale necessite une boucle cqfd... ;o)
0
Rejoignez-nous