Faire des calculs en java
alibabapro
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
alibabapro Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
alibabapro Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je faire des calculs et enregistre dans une base de donnée en java.Exemple: faire une fonction somme qui additionne a chaque fois le montant saisie dans le JTextField.Merci!!!
A voir également:
- Faire des calculs en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Bonjour,
Si j'ai bien compris votre question, je suppose qu'il vous faut un objet JLabel pour afficher le totale, alors il faut commencer par un 0 :
Dans le code du bouton et après l'insertion, il faut mettre à jour la valeur de la JLabel, mais elle contient des chaines de caractères et nous voulons un clacul sur des entiers, pour cela il suffit de convertir les chaines de caractères vers des entiers par la méthode : Integer.parseInt(). Cela donne un code du genre :
Si vous voulez sauvegarder cette valeur dans un entier et de faire un Si...Sinon ça sera encore plus simple. Un entier dans votre classe :
Dans la méthode ci-dessus, il faut ajouter la somme et faire un Si...Sinon :
Bon Courage.
Si j'ai bien compris votre question, je suppose qu'il vous faut un objet JLabel pour afficher le totale, alors il faut commencer par un 0 :
JLable total = new JLable("0");
Dans le code du bouton et après l'insertion, il faut mettre à jour la valeur de la JLabel, mais elle contient des chaines de caractères et nous voulons un clacul sur des entiers, pour cela il suffit de convertir les chaines de caractères vers des entiers par la méthode : Integer.parseInt(). Cela donne un code du genre :
total.setText("" + (Integer.parseInt(total.getText()) + Integer.parseInt(txtmo.getText()));
Si vous voulez sauvegarder cette valeur dans un entier et de faire un Si...Sinon ça sera encore plus simple. Un entier dans votre classe :
int t = 0;
Dans la méthode ci-dessus, il faut ajouter la somme et faire un Si...Sinon :
t += Integer.parseInt(txtmo.getText()); if(t > 100) total.setText("atteint"); else total.setText("Pas encore");
Bon Courage.
Bonjour! essayer d'appliquer vos suggessions mais voici l'eurreu qu'on me signal quand j'essaie d'enregistrer dans la base de donnee:connexion echouee column count dose'not match value at row 1.Merci!!
voici mon code:
voici mon code:
private void btnaActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String numcole=txtco.getText(), numcol=cmbco.getSelectedItem().toString(), nomcol=cmbno.getSelectedItem().toString(), prenomcol=cmbpr.getSelectedItem().toString(), sectcol=cmbsec.getSelectedItem().toString(), montcole=txtmo.getText(), objcol =JLabel.getText(); DateFormat df=new SimpleDateFormat("dd/MM/yyyy"); String datecole=String.valueOf(df.format(txtdat.getDate())); JLabel TCOLEJOUR = new JLabel("0"); TCOLEJOUR.setText(""+(Integer.parseInt(TCOLEJOUR.getText()) + Integer.parseInt(txtmo.getText()))); int t = 0; t += Integer.parseInt(txtmo.getText()); if(t > 100){ TCOLEJOUR.setText("atteint");} else if(t==100){ TCOLEJOUR.setText("Moyenne"); } else { TCOLEJOUR.setText("Non atteint"); } try{ con=connexionbd.seconnecter(); st=con.createStatement(); st.executeUpdate("INSERT INTO collecte() VALUES('"+numcole+"','"+numcol+"','"+nomcol+"','"+prenomcol+"'," + "'"+datecole+"','"+sectcol+"','"+montcole+"','"+objcol+"')"); JOptionPane.showMessageDialog(null,"Enregistrement Effectue"); }catch(Exception e) { JOptionPane.showMessageDialog(null,"Connexion Echouee"+e.getMessage()); } }
Bonjour,
L'erreur est dans la requête SQL, il ne faut pas mettre les parenthèses après le nom de la table dans la requête INSERT si on ne veut pas spécifier des colonnes particulières, alors il suffit de les enlever :
L'erreur est dans la requête SQL, il ne faut pas mettre les parenthèses après le nom de la table dans la requête INSERT si on ne veut pas spécifier des colonnes particulières, alors il suffit de les enlever :
st.executeUpdate("INSERT INTO collecte VALUES('"+numcole+"','"+numcol+"','"+nomcol+"','"+prenomcol+"',"+"'"+datecole+"','"+sectcol+"','"+montcole+"','"+objcol+"')");
Bonjour! j'ai l'erreur mais ça je n'arrive pas à faire l'insertion, voici mon problème: Connexion echoueeIncorrect decimal value:'javax.swing.JLabel[0,0,0x0 invalid, alignementx=0.0,alignementy=0.0,border=javax.swing.plaf.synth.SynthBorder@26444b6a,flags=83886' for column TCOLEJOUR at row 1.
private void btnaActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String numcole=txtco.getText(), numcol=cmbco.getSelectedItem().toString(), nomcol=cmbno.getSelectedItem().toString(), prenomcol=cmbpr.getSelectedItem().toString(), sectcol=cmbsec.getSelectedItem().toString(), montcole=txtmo.getText(), objcol =JLabel.getText(); DateFormat df=new SimpleDateFormat("dd/MM/yyyy"); String datecole=String.valueOf(df.format(txtdat.getDate())); JLabel TCOLEJOUR = new JLabel("0"); TCOLEJOUR.setText(""+(Integer.parseInt(TCOLEJOUR.getText()) + Integer.parseInt(txtmo.getText()))); int t = 0; t += Integer.parseInt(txtmo.getText()); if(t > 100){ TCOLEJOUR.setText("atteint");} else if(t==100){ TCOLEJOUR.setText("Moyenne"); } else { TCOLEJOUR.setText("Non atteint"); } try{ con=connexionbd.seconnecter(); st=con.createStatement(); st.executeUpdate("INSERT INTO collecte VALUES('"+numcole+"','"+numcol+"','"+nomcol+"'," + "'"+prenomcol+"',"+"'"+datecole+"','"+sectcol+"','"+montcole+"','"+objcol+"','"+TCOLEJOUR+"')"); JOptionPane.showMessageDialog(null,"Enregistrement Effectue"); }catch(Exception e) { JOptionPane.showMessageDialog(null,"Connexion Echouee"+e.getMessage()); } }merci de bien vouloir m'aider!
Re,
Il se peut qua l'un des champs de votre table est déclaré comme un entier. A ce que je vois de votre requête, vous avez mis toutes les valeurs entre les quotes simples ' ', pour le SGBD, cela veut dire que la donnée est une chaîne de caractères, alors il faut enlever ces quotes pour les colonnes de type numérique.
Il se peut qua l'un des champs de votre table est déclaré comme un entier. A ce que je vois de votre requête, vous avez mis toutes les valeurs entre les quotes simples ' ', pour le SGBD, cela veut dire que la donnée est une chaîne de caractères, alors il faut enlever ces quotes pour les colonnes de type numérique.
Bonjour! j'ai essaye d'enlever les cotte ' ' Pouvez vous revoir mon code, même avec la sommation n'est se fait pas.Merci!!
private void btnaActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String numcole=txtco.getText(), numcol=cmbco.getSelectedItem().toString(), nomcol=cmbno.getSelectedItem().toString(), prenomcol=cmbpr.getSelectedItem().toString(), sectcol=cmbsec.getSelectedItem().toString(), montcole=txtmo.getText(), objcol =JLabel.getText(); DateFormat df=new SimpleDateFormat("dd/MM/yyyy"); String datecole=String.valueOf(df.format(txtdat.getDate())); JLabel TCOLEJOUR = new JLabel("0"); TCOLEJOUR.setText(""+(Integer.parseInt(TCOLEJOUR.getText()) + Integer.parseInt(txtmo.getText()))); int t = 0; t += Integer.parseInt(txtmo.getText()); if(t > 100){ TCOLEJOUR.setText("atteint");} else if(t==100){ TCOLEJOUR.setText("Moyenne"); } else { TCOLEJOUR.setText("Non atteint"); } try{ con=connexionbd.seconnecter(); st=con.createStatement(); st.executeUpdate("INSERT INTO collecte VALUES('"+numcole+"','"+numcol+"','"+nomcol+"'," + "'"+prenomcol+"',"+"'"+datecole+"','"+sectcol+"','"+montcole+"','"+objcol+"','"+TCOLEJOUR+"')"); JOptionPane.showMessageDialog(null,"Enregistrement Effectue"); }catch(Exception e) { JOptionPane.showMessageDialog(null,"Connexion Echouee"+e.getMessage()); } }
Je veux que lorsque l'utilisateur va remplir tous les champs,Au niveau de la variable montant(montcole=txtmo.getText() ), en fonction du montant saisie il affiche dans la variable objectif( objcol=txtob.getText()) çà génère automatiquement soit (atteint ou moyenne ou non atteint). Les calculs dont je parle, j’ai une variable total et je veux qu'a chaque saisie du montant ça part s'ajouter dans la variable total.Merci
Explications disponibles ici : ICI
Merci d'y penser dans tes prochains messages.