[java]2 problèmes dans mon programme
Résolu
domxaline
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je viens de faire ce programme, il y a 2 problème me présentent.
1. quand je choisi sexe M, et donne age 40 ans par exemple,
mon prg me répond que "elle est imposable",
normalement il devait me répondre que "elle n'est pas imposable"!!!
2. ensuite, je sens que mon prg est un peu longue, quelqu'un a une solution
pour le simplifier svp.
merci d'avance
je viens de faire ce programme, il y a 2 problème me présentent.
1. quand je choisi sexe M, et donne age 40 ans par exemple,
mon prg me répond que "elle est imposable",
normalement il devait me répondre que "elle n'est pas imposable"!!!
2. ensuite, je sens que mon prg est un peu longue, quelqu'un a une solution
pour le simplifier svp.
import java.util.Scanner;
public class Testing1
{
public static void main(String[] args)
{
char reponse='O';
do
{
System.out.println("Entrez le sexe d'habitant M/F:");
Scanner valeur=new Scanner(System.in);
char sexe=valeur.nextLine().charAt(0);
System.out.println("Entrez l'age d'habitant:");
int age=valeur.nextInt();
boolean M=true;
boolean F=false;
if(M==true)
{
if(age>=20)
{
System.out.println("il est imposable");
}
else
{
System.out.println("il n'est pas imposable");
}
}
if(F==true)
{
if(age>=18 && age<=35)
{
System.out.println("elle est imposable");
}
else
{
System.out.println("elle n'est pas imposable");
}
}
System.out.println("");
System.out.println("Voulez vous reessaye, O/N?");
Scanner sc=new Scanner(System.in);
reponse=sc.nextLine().charAt(0);
}while(reponse=='O');
System.out.println("Fin du programme,Au revoir.");
}
}
merci d'avance
A voir également:
- [java]2 problèmes dans mon programme
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Supercopier 2 - Télécharger - Gestion de fichiers
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Bonjour,
Il y a un gros oubli :-)
C'est normal, tu compares des valeurs que tu as toi même défini dans le programme et pas par rapport à ce qui a été entré. Tu dis par exemple M = true, et ensuite tu compares if(M==true).
Tu peux par exemple faire
ou raccourci
Même chose pour le reste.
Il y a un gros oubli :-)
C'est normal, tu compares des valeurs que tu as toi même défini dans le programme et pas par rapport à ce qui a été entré. Tu dis par exemple M = true, et ensuite tu compares if(M==true).
Tu peux par exemple faire
boolean M;
if(sexe=='M') M = true;
ou raccourci
boolean M= (sexe == 'M');
Même chose pour le reste.
merci à votre aide
en écrivant comme ceci:
dans le résultat j'ai deux fois la réponse
Entrez le sexe d'habitant M/F:
M
Entrez l'age d'habitant:
18
il n'est pas imposable
elle n'est pas imposable
Voulez vous reessaye, O/N?
en écrivant comme ceci:
boolean M;
boolean F;
if(sexe=='M')
M=true;
F=false;
dans le résultat j'ai deux fois la réponse
Entrez le sexe d'habitant M/F:
M
Entrez l'age d'habitant:
18
il n'est pas imposable
elle n'est pas imposable
Voulez vous reessaye, O/N?
Tu n'as pas besoin de deux variables puisqu'il n'y a que 2 sexes, si ce n'est pas M, c'est forcément F.
D'ailleurs tu n'es même pas obligé de passer par une variable booléenne mais tu peux réutiliser ta variable sexe (il faut aussi tester dans un vrai programme que l'utilisateur n'a pas entré autre chose que M ou F).
Pour valider la saisie tu peux faire aussi une boucle avec un do, comme tu l'as fait pour le nombre d'essais.
Et ensuite :
Et d'ailleurs il est également plus avantageux de créer des fonctions. Mais vu que tu sembles débuter en Java, progresse d'abord à ton rythme.
D'ailleurs tu n'es même pas obligé de passer par une variable booléenne mais tu peux réutiliser ta variable sexe (il faut aussi tester dans un vrai programme que l'utilisateur n'a pas entré autre chose que M ou F).
Pour valider la saisie tu peux faire aussi une boucle avec un do, comme tu l'as fait pour le nombre d'essais.
Et ensuite :
if(sexe=='M')
{
// Traitements pour un homme
}
else
{
// Traitements pour une femme
}
Et d'ailleurs il est également plus avantageux de créer des fonctions. Mais vu que tu sembles débuter en Java, progresse d'abord à ton rythme.