JAVA:Problèmes avec les tabulations

Résolu/Fermé
Onijoshy Messages postés 5 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 26 octobre 2009 - 12 mars 2009 à 00:55
Onijoshy Messages postés 5 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 26 octobre 2009 - 12 mars 2009 à 04:06
Bonjour,

Je suis en train de faire un exercice où je dois lire un salaire brut entré par un utilisateur, calculer le salaire net de 6 employé en fonction du taux d'impôt applicable et les afficher. Ca fait bientôt 2 heures que je suis dessus et je deviens fou! Rien ne marche. Alors je commence par corrigé les petits details mais même les petits détails me dépassent.

Dans l'affichage, je veux séparer les différentes variable par une tabulation. Mais cela ne marche pas c'est comme si j'avais rien mis, par contre le saut de ligne marche.

Ex: message += nbEmp + "\t" + salaireB + "\t" + salaireN + "\n";

Si j'essay de l'afficher avec un JOptionPane, je vais avoir => nbEmpsalaireBsalairN

Je suis sure que c'est une erreur vraiment débutante mais je suis a bout! Merci d'avance.


PS. au cas ou ca aiderait quelqu'un voila mon code source
Je vien de l'éditer pour quelque chose de plus lisible malgré que ca ne marche toujours pas.


import javax.swing.*;
import java.text.*;
public class Salaire {
public static void main(String[] args) {
//Declarer les variable
DecimalFormat argent = new DecimalFormat("0.00 $");
final double TAUX_1 = 0.15,
TAUX_2 = 0.25,
TAUX_3 = 0.35;
final double LIMITE_1 = 49999.99,
LIMITE_2 = 99999.99;
double salaireN;
double salaireB;
int nbEmp=1;
String saisie="",
message="No employé \t Salaire brut \t Impôt \t Salaire net\n";
double impot=0;

while (nbEmp <= 6){
saisie += JOptionPane.showInputDialog("Entrez le salaire brut annuel de l'employé no " + nbEmp);
salaireB = Integer.parseInt(saisie);


if (salaireB >=0 || salaireB < LIMITE_1){
salaireN=salaireB * TAUX_1 + salaireB;
impot = salaireB * TAUX_1;
message += nbEmp + "\t" + argent.format(salaireB) + "\t" + argent.format(impot) + "\t" + argent.format(salaireN) + "\n";
}
else if (salaireB >=50000 || salaireB<=LIMITE_2){
salaireN=salaireB * TAUX_2 + salaireB;
impot = salaireB * TAUX_2;
message += nbEmp + "\t" + argent.format(salaireB) + "\t" + argent.format(impot) + "\t" + argent.format(salaireN) + "\n";
}
else if (salaireB>=100000){
salaireN=salaireB * TAUX_3 + salaireB;
impot=salaireB * TAUX_3;
message += nbEmp + "\t" + argent.format(salaireB) + "\t" + argent.format(impot) + "\t" + argent.format(salaireN) + "\n";
}

nbEmp++;}


JOptionPane.showMessageDialog(null, message);

}//fin main
}//fin class
A voir également:

1 réponse

Onijoshy Messages postés 5 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 26 octobre 2009 1
12 mars 2009 à 04:06
J'ai trouvé la reponse, il est 23h02 je peux enfin rentrer chez moi merci quand même.
Pour les débutants comme moi qui aurait se probleme je vais quand même me corriger moi meme.
Le probleme vien du JOptionPane, il ne prend pas les tabulation alors pour contourner on import java.text.* et on crée une zone de texte qu'on affiche avec JOptionPane par la suite. Donc pour corriger mon code source maladroit on obtient...

import javax.swing.*;
import java.text.*;
public class Salaire {

public static void main(String[] args) {
JTextArea sortie = new JTextArea (); //zone de texte

//Declarer les variable
DecimalFormat argent = new DecimalFormat("0.00 $");
final double TAUX_1 = 0.15,
TAUX_2 = 0.25,
TAUX_3 = 0.35;
final double LIMITE_1 = 49999.99,
LIMITE_2 = 99999.99;
double salaireN;
double salaireB;
int nbEmp=1;
String saisie;


sortie.append("No employé \t Salaire brut \t Impôt \t Salaire net\n");
double impot=0;

while (nbEmp <= 6){
saisie = JOptionPane.showInputDialog(null,"Entrez le salaire brut annuel de l'employé no " + nbEmp,"Saisie du salaire brut",JOptionPane.PLAIN_MESSAGE);
salaireB = Integer.parseInt(saisie);


if (salaireB >=0 && salaireB < LIMITE_1){
salaireN=salaireB - salaireB * TAUX_1 ;
impot = salaireB * TAUX_1;
sortie.append(nbEmp + "\t" + argent.format(salaireB) + "\t" + argent.format(impot) + "\t" + argent.format(salaireN) + "\n");
}

else if (salaireB >=50000 && salaireB<=LIMITE_2){
salaireN=salaireB - salaireB * TAUX_2;
impot = salaireB * TAUX_2;
sortie.append(nbEmp + "\t" + argent.format(salaireB) + "\t" + argent.format(impot) + "\t" + argent.format(salaireN) + "\n");
}
else if (salaireB>=100000){
salaireN=salaireB - (salaireB * TAUX_3);
impot= salaireB * TAUX_3;
sortie.append(nbEmp + "\t" + argent.format(salaireB) + "\t" + argent.format(impot) + "\t" + argent.format(salaireN) + "\n");
}
nbEmp++;
}


JOptionPane.showMessageDialog(null, sortie,"ÉTAT DES PAIE",JOptionPane.PLAIN_MESSAGE);
System.exit (0);
}//fin main
}//fin class
1