salut à tous j'ai un problème jai crée un petit programme mais je ne suis pas capable de lexecuter ..
le voici (soyez gentils je viens de commencer à apprendre) :
package enchSem1No8;
import javax.swing.JOptionPane;
public class enchSem1No8
{
public static void main(String[] args)
{
String strcoke = null; // nbr de coke
String strhamburger = null; // nbr de hamburger
String strcremeg = null; // Nbr de crème glacée
String strbudget = null; // budget de départ
String strrestant = null; // Restant a la fin de la soirée
String strprixcoke = null;
String strprixhamburger = null;
String strprixcremeg = null;
String strtotalhamburger = null;
String strtotalcremeg;
double dprixcremeg;
double dprixhamburger;
double dprixcoke;
double dcoke;
double dhamburger;
double dcremeg;
double dbudget;
double drestant;
double dtotalcoke;
double dtotalhamburger;
double dtotalcremeg;
dcoke = Double.parseDouble(strcoke);
dhamburger = Double.parseDouble(strhamburger);
dcremeg = Double.parseDouble(strcremeg);
dbudget = Double.parseDouble(strbudget);
drestant = Double.parseDouble(strrestant);
dtotalhamburger = Double.parseDouble(strtotalhamburger);
dprixcoke = Double.parseDouble(strprixcoke);
dprixhamburger = Double.parseDouble(strprixhamburger);
dprixcremeg = Double.parseDouble(strprixcremeg);
// Lecture
strcoke =JOptionPane.showInputDialog("Entrez le nombre de Coke consommés");
strprixcoke =JOptionPane.showInputDialog("Entrez le prix d'un Coke");
strhamburger =JOptionPane.showInputDialog("Entrez le nombre d'hamburgers");
strprixhamburger =JOptionPane.showInputDialog("Entrez le prix d'un hamburger");
strcremeg =JOptionPane.showInputDialog("Entrez le nombre de crème glacées");
strprixcremeg =JOptionPane.showInputDialog("Entrez le prix d'une crème glacée");
strbudget =JOptionPane.showInputDialog("Entrez le montant de vos économies de départ");
// Calculs
//
dtotalcoke = dcoke * dprixcoke;
dtotalhamburger = dhamburger * dprixhamburger;
dtotalcremeg = dcremeg * dprixcremeg;
drestant = dbudget - (dtotalcoke + dtotalhamburger + dtotalcremeg);
//afficher
JOptionPane.showMessageDialog(null, "Voici l'argent qu'il te reste: " + drestant,"Resultats",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
de plus pourquoi suis-je obligé de mettre des = null apres mes String..? si je les met pas ca me dit de les mettre..
Tu viens du C non ?
Mettre le type des variables dans le nom comme ça, spas super utile en JAVA
Ensuite, ce serait cool d'avoir les stacktrace/erreurs de compilation
si je les met pas ca me dit de les mettre..
C'est quoi "ça" ? le compilateur ? Ton IDE ?
Dans tous les cas, le problème est que tu utilises des variables non initialisées (qui vaudront donc toujours null)
Donc ton programme va peter sur chacunes de ces lignes avec une belle NullPointerException :
dcoke = Double.parseDouble(strcoke);
dhamburger = Double.parseDouble(strhamburger);
dcremeg = Double.parseDouble(strcremeg);
dbudget = Double.parseDouble(strbudget);
drestant = Double.parseDouble(strrestant);
dtotalhamburger = Double.parseDouble(strtotalhamburger);
dprixcoke = Double.parseDouble(strprixcoke);
dprixhamburger = Double.parseDouble(strprixhamburger);
dprixcremeg = Double.parseDouble(strprixcremeg);
Se documenter avant tout : http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#parseDouble%28java.lang.String%29
Et là toutes tes string sont à null, tu vois bien le problème.
comment je fais pour enlever les null de mes string dans ce cas? car si je les enleve ils me dosent beuillez initier la vaeiable ou un truc du genre
Que tu mettes null ou pas, ça te foutras une erreur, car tu fais un parseDouble de rien du tout, donc pense à mettre tes dcokes, etc. au bon endroit
merci les gars j'ai réusii ! :D
une autre question :
comment je fais pour créer un input où on peut mettre des lettres?
je fais ca :
strnomArticle = JOptionPane.showInputDialog("Entrez le nom de l'article");
et après
un dnomArticle = Double.parseDouble(strnomArticle);
?
mais cela ne s'applique-t-il pas juste aux chiffres?
Je comprends pas, pourquoi tu as besoin de lettres si tu veux un double ?