[urgent]passage de variable entre les class [Résolu]

Signaler
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
-
developvbdebut
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
-
Bonjour tout le monde

Voici la class Calcul

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;



public class Calcul
{



 float totaldue=0;



 int temps=0;





boolean som=false;



String riendanssommdemande;



float taux=0,totalannee=0, tempstaux=0,moi=0;
int emprunt=0;




 



float sommprelev=0;



public float pret(boolean som,String riendanssommdemande, float taux, float totalannee, float tempstaux, float moi, int emprunt, float totaldue, int temps)



{



riendanssommdemande = Integer.toString(emprunt);





if(som==true)
{
 if(riendanssommdemande.equals("")||taux ==0)
 {





JOptionPane.showMessageDialog(null,"Formulaire incomplet");





 }



  else
  {
   
  



        moi=(int)(emprunt*taux/100) +  (int)emprunt;
     
    totalannee=moi*12;
   
   
    tempstaux=taux/100;
  



     return totaldue=temps*totalannee+tempstaux;





    }
}





return totaldue;



}



public float affichetable(float sommprelev, float moi, float totaldue, int temps  )





{



sommprelev=totaldue/temps;





return sommprelev;



}



public void main(String[] args)
{





pret( som, riendanssommdemande, taux, totalannee, tempstaux, moi, emprunt, totaldue, temps);



affichetable(sommprelev, moi, totaldue, temps);




 





}



 
}


voici la class modetable


import javax.swing.table.AbstractTableModel;



import java.util.Vector;



import java.util.GregorianCalendar;
import java.util.Calendar;
import java.util.Date;



public class modetable extends AbstractTableModel
{



Calcul c = new Calcul();




 



float f =c.affichetable(sommprelev, moi, totaldue, temps);



GregorianCalendar calendar = new java.util.GregorianCalendar();



int ligne=0;
int i;





public Object getValueAt(int rows, int cols)
{





}



public int rows(int ligne)
{



c.affichetable(sommprelev,temps);



ligne=temps*12;



for(i=1;i<ligne;i++)
{



calendar.add (Calendar.MONTH, 1);




 



}





}



public int getRowCount()
{





}
public int getColumnCount()
{




 



}
public void main(String[] args)
{




 



}



}

Mon probleme est que javac me demande déclarer sommprelev et temps, alors qu'ils sont déja déclaré dans la class calcul.


erreur:



modetable.java:45: not a statement
c.sommprelev;
 ^
modetable.java:47: not a statement
c.temps;
 ^
2 errors


Pourriez vous me dire clairement comment passé une variable d'une class a l'autre.

Dans mes il n'ont pas mis d'exemple concret.

Merci

Cordialement

A bientôt

7 réponses

Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour tout le monde

Ca y 'est j'ai compris j'ai fais dans modetable.

Déclaré les variables ci-dessous.

int nb;
float preleve;

ensuite:

nb=c.getTemps();



preleve=c.getSommprelev();


Il n'ya plus d'erreur.

Merci de votre aide.

Cordialement

A bientôt
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Re

J'ai oublié de vous dire que je fai un tableau pour un projet de systeme de pret.

A+
Messages postés
116
Date d'inscription
jeudi 22 juillet 2004
Statut
Membre
Dernière intervention
14 juin 2012

Il faut que tu les déclares en public:
public float somPrelev....
comme ca tu pourras faire c.somPrevel

ou alors fais une methode publique
private float somPrelev ....
public float getSommPrelev(){return somPrevel;}
et alors c.getSomPrelev() te renverra ta valeur; et en plus tu ne risques pas de modifier somPrelev à l'intérieur de Calcul.

Voila je pense que c'est tou ...

Ah sinon évites de modifier trop tes sources car j'aurai bien aimé trouver c.temps ou c.somPrelev :
modetable.java:47: not a statement
c.temps;
dans ton post...

J'espere que ca répond a ta question.
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Re

Revoici les class modifié et l'erreur.

Class Calcul.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;



public class Calcul
{



public float totaldue=0;



public int temps=0;





public float moi=0;


boolean som=false;


String riendanssommdemande;


float taux=0,totalannee=0, tempstaux=0;
int emprunt=0;


 


public float sommprelev=0;


public float pret(boolean som,String riendanssommdemande, float taux, float totalannee, float tempstaux, float moi, int emprunt, float totaldue, int temps)


{




riendanssommdemande = Integer.toString(emprunt);


 


if(som==true)
{
 if(riendanssommdemande.equals("")||taux ==0)
 {




JOptionPane.showMessageDialog(null,"Formulaire incomplet");




 }


  else
  {
   
  


        moi=(int)(emprunt*taux/100) +  (int)emprunt;
     
    totalannee=moi*12;
   
   
    tempstaux=taux/100;
  


     return totaldue=temps*totalannee+tempstaux;




    }
}




return totaldue;


}


public float affichetable(float sommprelev, float moi, float totaldue, int temps  )




{


sommprelev=totaldue/temps;




return sommprelev;


}


public void main(String[] args)
{




pret( som, riendanssommdemande, taux, totalannee, tempstaux, moi, emprunt, totaldue, temps);


affichetable(sommprelev, moi, totaldue, temps);


 




}


 
}







class modetable.

import javax.swing.table.AbstractTableModel;



import java.util.Vector;



import java.util.GregorianCalendar;
import java.util.Calendar;
import java.util.Date;



public class modetable extends AbstractTableModel
{





Calcul c = new Calcul();




 



float f =c.affichetable(sommprelev, moi, totaldue, temps);



c.sommprelev=0;
c.moi=0;
c.totaldue=0;
c.temps=temps*12;




 





GregorianCalendar calendar = new java.util.GregorianCalendar();



int ligne=0;
int i;





public Object getValueAt(int rows, int cols)
{




 





}



public int rows(int ligne)
{




 




 




 





ligne=temps;



for(i=1;i<ligne;i++)
{



calendar.add(Calendar.MONTH, 1);



calendar.add(Calendar.YEAR, 1);




 



}





}



public int getRowCount()
{





}
public int getColumnCount()
{




 



}




 





public void main(String[] args)
{




 



}



}

Voici les erreur.

modetable.java:21: expected
c.sommprelev=0;
            ^
modetable.java:22: expected
c.moi=0;
     ^
modetable.java:23: expected
c.totaldue=0;
          ^
modetable.java:24: expected
c.temps=temps*12;
       ^
4 errors

Là j'ignore ce qui ne va pas.


A+
Messages postés
33
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
21 novembre 2006

Salut


tu devrais utiliser des variable privée ( private au lieu de public) et créer des méthodes d'accès à ces variables !!


Par exemple :

private float moi=0;

et deux méthodes :


public float getMoi() {

    return moi;

}


public void setMoi(float value) {

    moi = value;

}

NoName85

Et que Dieu vous garde, parce que moi j'ai pas le temps !!!
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Re

class calcul

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;



public class Calcul
{



public float totaldue=0;



public int temps=0;





public float moi=0;



boolean som=false;



String riendanssommdemande;



float taux=0,totalannee=0, tempstaux=0;
int emprunt=0;




 



public float sommprelev=0;



public float pret(boolean som,String riendanssommdemande, float taux, float totalannee, float tempstaux, float moi, int emprunt, float totaldue, int temps)



{





riendanssommdemande = Integer.toString(emprunt);




 



if(som==true)
{
 if(riendanssommdemande.equals("")||taux ==0)
 {





JOptionPane.showMessageDialog(null,"Formulaire incomplet");





 }



  else
  {
   
  



        moi=(int)(emprunt*taux/100) +  (int)emprunt;
     
    totalannee=moi*12;
   
   
    tempstaux=taux/100;
  



     return totaldue=temps*totalannee+tempstaux;





    }
}





return totaldue;



}



public float affichetable(float sommprelev, float moi, float totaldue, int temps  )





{



sommprelev=totaldue/temps;





return sommprelev;



}



public void main(String[] args)
{





pret( som, riendanssommdemande, taux, totalannee, tempstaux, moi, emprunt, totaldue, temps);



affichetable(sommprelev, moi, totaldue, temps);




 





}
public int getTemps();
{



return temps;
}



public float getSommprelev()
{
return sommprelev;



}



 
}



Voici l'erreur

Calcul.java:105: missing method body, or declare abstract
public int getTemps();
           ^
Calcul.java:108: return outside method
return temps;
^
2 errors

La variable temps est une varable de type  donc je ne voix pas où est le probleme.

Apres pourriez vous me dire comment récupéré le contenu des variable dans la class modetable.

Merci

A+
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
re

le probleme est réglé, j'ai mis un ; a coté des ().

dans la class calcul, il n'y à plus d'erreur.

Comment faire avec la class modetable.

A +