Problème calcul simple JAVA
Fermé
Absot
Messages postés
777
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
4 septembre 2020
-
3 juin 2010 à 17:59
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 3 juin 2010 à 18:32
Absot Messages postés 777 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 4 septembre 2020 - 3 juin 2010 à 18:32
A voir également:
- Problème calcul simple JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Calcul moyenne excel - Guide
- Iphone 14 simple - Guide
- Java apk - Télécharger - Langages
2 réponses
theBoneLESS
Messages postés
20
Date d'inscription
jeudi 3 juin 2010
Statut
Membre
Dernière intervention
13 juillet 2010
4
3 juin 2010 à 18:09
3 juin 2010 à 18:09
C'est certain que je peux pas voir ton code mais voici les possibilités d'erreur que j'entrevois:
- Tu fais les calculs avec des des nombres à virgules mais tu stockes ton résultat dans une variable int.
- Ton résultat est bien en nombre à virgule mais tu l'affiches avec le format entier.
Les double et les float sont bien des nombres à virgule donc il ne devrait pas y avoir de problèmes. Peut être est-ce une utilisation du mauvais formatage lors de l'output. Exemple:
au lieu de:
- Tu fais les calculs avec des des nombres à virgules mais tu stockes ton résultat dans une variable int.
- Ton résultat est bien en nombre à virgule mais tu l'affiches avec le format entier.
Les double et les float sont bien des nombres à virgule donc il ne devrait pas y avoir de problèmes. Peut être est-ce une utilisation du mauvais formatage lors de l'output. Exemple:
double resultat = 3.5; System.out.format("Resultat: %d", resultat);
au lieu de:
double resultat = 3.5; System.out.format("Resultat: %f", resultat);
Absot
Messages postés
777
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
4 septembre 2020
44
Modifié par Absot le 3/06/2010 à 18:35
Modifié par Absot le 3/06/2010 à 18:35
Je récupère bien mes résultats dans mes floats.
Dans ma BDD, les prix sont de type float
Voilà mon code:
Je ne vois pas trop où est mon erreur.. :/
Dans ma BDD, les prix sont de type float
Voilà mon code:
private String repas; private String boisson; private String dessert; private String query; private int idRepas; private int idBoisson; private int idDessert; private int idFacture; private int nombreRepas; private int nombreBoisson; private int nombreDessert; private double prix; private double prixFacture; repas = choiceRepas.getSelectedItem(); boisson = choiceBoisson.getSelectedItem(); dessert = choiceDessert.getSelectedItem(); nombreRepas = Integer.parseInt(nombreChoiceRepas.getSelectedItem()); nombreBoisson = Integer.parseInt(nombreChoiceBoisson.getSelectedItem()); nombreDessert = Integer.parseInt(nombreChoiceDessert.getSelectedItem()); idRepas = retourneId(repas, "Repas"); idBoisson = retourneId(boisson, "Boisson"); idDessert = retourneId(dessert, "Dessert"); prix = retournePrix(repas, "Repas")*nombreRepas; System.out.println("Prix du repas : " + prix); prix = prix+(retournePrix(boisson, "Boisson")*nombreBoisson); System.out.println("Prix du repas et de la boisson : " + prix); prix = prix+(retournePrix(dessert, "Dessert")*nombreDessert); public float retournePrix(String nom, String categorie) { String nomAliment = nom; String categorieAliment = categorie; float prix = 0; String sql = ""; if (categorieAliment == "Boisson") { sql = "SELECT * FROM Boisson WHERE nom = '" + nomAliment + "';"; }else if (categorieAliment == "Repas") { sql = "SELECT * FROM Repas WHERE nom = '" + nomAliment + "';"; }else { sql = "SELECT * FROM Dessert WHERE nom = '" + nomAliment + "';"; } final String driver ="com.mysql.jdbc.Driver"; final String url = "jdbc:mysql://127.0.0.1/***"; final String user = "***"; final String passwd = "***"; Connection con = null; Statement state = null; ResultSet result = null; try { // Chargement du driver Class.forName(driver).newInstance(); // Connexion � la BDD con = DriverManager.getConnection(url, user, passwd); // Creation de l'objet Statement state = con.createStatement(); // Execution de la requete // rs contient le r�sultat de la requete SQL result = state.executeQuery(sql); System.out.println(sql); while (result.next()) { prix = result.getFloat("prix"); } // Fermeture des objets utilis�s result.close(); state.close(); } catch(ClassNotFoundException e) { System.err.println("Class non trouvée " + driver); } catch (SQLException e) { System.err.println("SQL erreur : " + sql + " " + e.getMessage()); } catch (Exception e) { e.printStackTrace(); } finally { try { if (con != null) { con.close(); } } catch (Exception e) { System.err.println(e); } } return prix; }
Je ne vois pas trop où est mon erreur.. :/