Code Java non fonctionnel
almolelemay
Messages postés
20
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voici mon code :
Il ne marche pas car il m'affiche des nombre incoérent à partir de la boucle de la table de conversion. Pouvez-vous m'aider?
Voici mon code :
import java.util.*; //Importation de la classe java.util.*, utilisé pour la fonction Scanner
public class ligne {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //Ici je configure un nouveau Scanner pour lire les entrés de clavier
String reb = " ";
// TODO Auto-generated method stub
System.out.println("------------------------------------------------------------------------"); //Affichage du haut du tableau
System.out.println("| CONVERSION DEGRES CELCIUS ET DEGRES FAHRENHEIT |");
System.out.println("------------------------------------------------------------------------");
do{ //Boucle principale qui s'exécute jusqu'à ce que la variable reb = n ou N
int aPartirDe, jusqua, pas; //Déclaration des variables
do{
System.out.println("À partir de :");
aPartirDe = sc.nextInt(); //Entré du clavier qui attribue une valeur à la variable "aPartirDe"
System.out.println("Jusqu'à :");
jusqua = sc.nextInt(); //Entré du clavier qui attribue une valeur à la variable "jusqua"
System.out.println("Par pas de :");
pas = sc.nextInt(); //Entré du clavier qui attribue une valeur à la variable "pas"
if (jusqua<aPartirDe && pas>=0){ //Si la valeur de départ est plus petite que la valeur de fin et que le pas est positif ou nul
System.out.println("Traitement impossible");
}
else if (jusqua>aPartirDe && pas<=0){
System.out.println("Traitement impossible");
do{
System.out.println("À partir de :");
aPartirDe = sc.nextInt();
System.out.println("Jusqu'à :");
jusqua = sc.nextInt();
System.out.println("Par pas de :");
pas = sc.nextInt();
if (jusqua<aPartirDe && pas>=0){
System.out.println("Traitement impossible");
}
else if (jusqua>aPartirDe && pas<=0){
System.out.println("Traitement impossible");
}
}while(jusqua>aPartirDe && pas<=0);
}
}while(jusqua<aPartirDe && pas>=0); //Fin de la boucle
System.out.println("Assurez-vous que l'imprimante est prête");
String ask = " ";
System.out.println("Si vous êtes prêt, tapez O, Sinon tapez N");
sc.nextLine();
ask = sc.nextLine();
do{
System.out.println("TABLE DE CONVERSION CELSIUS / FAHRENHEIT");
System.out.println("--------------------------------------------");
System.out.println(" Celsius | Fahrenheit ");
System.out.println("--------------------------------------------");
do{
int resultat = ((9/5)*aPartirDe)+32; //formule de conversion degrés celsius en fahrenheit
System.out.println(" "+aPartirDe+" | "+resultat); //affichage des lignes du tableau
aPartirDe += pas; //ajout de la valeur de la variable "pas" à la variable "aPartirDe"
}while(aPartirDe>=jusqua || aPartirDe<=jusqua || aPartirDe==jusqua);
}while(ask=="o" || ask=="O");
System.out.println("Souhaitez-vous éditer une autre table ?(O/N)");
while(reb!="o" || reb!="O" || reb!="n" || reb!="N"){
reb = sc.nextLine(); //L'utilisateur rentre la valeur de reb pour savoir si on recommence le programme ou pas
}
}while (reb=="O" || reb =="o" || reb==" ");
}
}
Il ne marche pas car il m'affiche des nombre incoérent à partir de la boucle de la table de conversion. Pouvez-vous m'aider?
A voir également:
- Code Java non fonctionnel
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Code ascii - Guide
- Code puk bloqué - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
Salut, fais attention avec les String en Java, elle ne fonctionnent pas comme tu le crois :
String s = " ";
(s == " ") va renvoyer vrai,
mais c'est seulement une illusion.
s = sc.NextLine; // imaginons je tape "O"
(s == "O") va renvoyer faux, il me semble.
il faut utiliser if ( s.equals("O") )
http://leepoint.net/notes-java/data/strings/12stringcomparison.html
String s = " ";
(s == " ") va renvoyer vrai,
mais c'est seulement une illusion.
s = sc.NextLine; // imaginons je tape "O"
(s == "O") va renvoyer faux, il me semble.
il faut utiliser if ( s.equals("O") )
http://leepoint.net/notes-java/data/strings/12stringcomparison.html