Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2278 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [[Java]] -- Un gros probleme entre méthodes.

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[[Java]] -- Un gros probleme entre méthodes.

n°295916
zytrahus5
wait what?
Posté le 29-01-2003 à 00:41:07  profilanswer
 

salut,
 
je localise le probleme :
 
 

  • une classe planete qui contient ques des attributs :


public class Planete {
 
 //Attributs
 String _nom;
 double _masse;
 Point2D.Double _position;
 Point2D.Double _vitesse;
 Vector _trajectoire;
 
........./.........


 

  • une classe saisie qui a pour but de mettre des élements de type planete dans un vecteur de planete. Elle appelle la classe ajout_planete par le code suivant :


if (src==_bajoutpla) // LANCE LA FENETRE D AJOUT DE PLANETE...
   {
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
 
     //incrémente le compteur de planete entrée.
     Nb_planete++;
 
     //Ouvre la fenetre ajout_planete
     ajout_planete ajout = new ajout_planete(Nb_planete);


 
 

  • Le probleme c'est la classe ajout_planete c'est une interface graphique, et dans une des branches conditionnelles, elle doit renvoyer à la classe saisie un élément de type planete...


Le hic c'est que je vois pas du tout comment faire ça... c'est à dire que la méthodes actionPerformed de la classe ajout_planete ne me permet pas de renvoyer autre chose que void !!!!
 
 
 
Comment est ce que je pourrais faire pour que ma classe ajout_planete renvoie un élément de type planete à saisie ???


---------------
http://www.zytratech.com
mood
Publicité
Posté le 29-01-2003 à 00:41:07  profilanswer
 

n°295924
zytrahus5
wait what?
Posté le 29-01-2003 à 00:57:10  profilanswer
 

En gros j'ai des variables dans une classe et je veux y acceder dans une autre classe...
 
 
quel est le plus simple à faire ?
 
s'il vous plait un coup de main :sweat:


---------------
http://www.zytratech.com
n°295933
zytrahus5
wait what?
Posté le 29-01-2003 à 01:21:35  profilanswer
 

ne me laisser pas dans la merde  :cry:


---------------
http://www.zytratech.com
n°295937
--greg--
Posté le 29-01-2003 à 01:32:35  profilanswer
 

zytrahus5 a écrit :

En gros j'ai des variables dans une classe et je veux y acceder dans une autre classe...
 
 
quel est le plus simple à faire ?
 
s'il vous plait un coup de main :sweat:  

:heink:  
 

public Planete getLaFoutuePlanete() {
  return machinPlanete;
}


....


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°295960
Cherrytree
cn=?
Posté le 29-01-2003 à 07:07:49  profilanswer
 

zytrahus5 a écrit :

salut,
 

if (src==_bajoutpla) // LANCE LA FENETRE D AJOUT DE PLANETE...
   {
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
 
     //incrémente le compteur de planete entrée.
     Nb_planete++;
 
     //Ouvre la fenetre ajout_planete
     ajout_planete ajout = new ajout_planete(Nb_planete);


 


 
 [:zebra33] Je ne suis pas convaincu que le System.exit(0) soit une bonne idée. Enfin, tout dépend de ce que tu veux dire, mais là, comme ça, ça fait bizarre.


---------------
Le site de ma maman
n°295990
gloop
Posté le 29-01-2003 à 08:21:38  profilanswer
 

Cherrytree a écrit :


 
 [:zebra33] Je ne suis pas convaincu que le System.exit(0) soit une bonne idée. Enfin, tout dépend de ce que tu veux dire, mais là, comme ça, ça fait bizarre.


 
il me semble que c'est bon. En fait qd t'as l'evenement de fermeture de fenetre, le prgm ne finit pas. c juste la fenetre qui se ferme. si tu veux quitter qd la fenetre est fermée, fo ajouter ca.

n°295992
Cherrytree
cn=?
Posté le 29-01-2003 à 08:22:41  profilanswer
 

gloop a écrit :


 
il me semble que c'est bon. En fait qd t'as l'evenement de fermeture de fenetre, le prgm ne finit pas. c juste la fenetre qui se ferme. si tu veux quitter qd la fenetre est fermée, fo ajouter ca.


Ben justement, j'étais pas sûr que ce qu'il voulait c'était quitter.


---------------
Le site de ma maman
n°295993
gloop
Posté le 29-01-2003 à 08:23:35  profilanswer
 

zytrahus5 a écrit :

salut,
 
 

if (src==_bajoutpla) // LANCE LA FENETRE D AJOUT DE PLANETE...
   {
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
 
     //incrémente le compteur de planete entrée.
     Nb_planete++;
 
     //Ouvre la fenetre ajout_planete
     ajout_planete ajout = new ajout_planete(Nb_planete);




 
il me semble que la méthode windowclosing n'est pas la bonne.
C'est  

Code :
  1. void windowClosing(WindowEvent e)

n°295995
gloop
Posté le 29-01-2003 à 08:23:58  profilanswer
 

Cherrytree a écrit :


Ben justement, j'étais pas sûr que ce qu'il voulait c'était quitter.


ok désolé

n°295996
Cherrytree
cn=?
Posté le 29-01-2003 à 08:24:34  profilanswer
 

gloop a écrit :


 
il me semble que la méthode windowclosing n'est pas la bonne.
C'est  

Code :
  1. void windowClosing(WindowEvent e)

 


très juste. :jap:


---------------
Le site de ma maman
mood
Publicité
Posté le 29-01-2003 à 08:24:34  profilanswer
 

n°295999
Cherrytree
cn=?
Posté le 29-01-2003 à 08:26:14  profilanswer
 

gloop a écrit :


ok désolé


En fait je vois pas pourquoi son Adapter d'ajout de Planète aurait à définir une méthode windowClosing. ça fait un bout que j'ai pas écrit du Swing, mais quelque part ça me choque.


---------------
Le site de ma maman
n°296001
gloop
Posté le 29-01-2003 à 08:27:46  profilanswer
 

Cherrytree a écrit :


En fait je vois pas pourquoi son Adapter d'ajout de Planète aurait à définir une méthode windowClosing. ça fait un bout que j'ai pas écrit du Swing, mais quelque part ça me choque.


exact, normalement on fout ca pour la fenetre principale. enfin il me semble, ca fait un bout de temps que j'ai pas codé ce genre de truc  :)

n°296012
zytrahus5
wait what?
Posté le 29-01-2003 à 08:44:21  profilanswer
 

merci pour le coup de main :)
 
comme j'avais pleins de problemes, avec toutes les fenetres, j'ai décidé de tout centraliser dans la principale...
 
 
et à mon grand desespoir, je me suis rendu compte qu'il y avait un probleme au lancement de la classe calcul :/
 
 
j'ai exactement la page d'erreur qui apparait, comme hier quand les champs étaient mal initialisés :cry:
 
pourtant cette fois ils sont bien initialisés :/
 
dans cette fenetre il y a tous les boutons, le probleme apparait quand je clique sur le bouton calcul....
 
 

package mvt_planete;
 
import java.awt.geom.Point2D;
import java.util.*;
import javax.swing.*;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.*;
import java.lang.String;
 
/**
 * Titre :
 * Description :
 * Copyright :    Copyright (c) 2002
 * Société :
 * @author
 * @version 1.0
 */
 
public class Principale extends JFrame implements ActionListener
// Héritage de JFrame et implémentation des écouteurs d'évènements
{
Planete new_planete;
Vector tab_planetes;
Calcul result;
 
  JButton ajout,calcul,simu;
  JLabel titre_nom;
  JTextField champ_nom;
  JLabel titre_masse;
  JTextField champ_masse;
  JLabel titre_posx;
  JTextField champ_posx;
  JLabel titre_posy;
  JTextField champ_posy;
  JLabel titre_vitx;
  JTextField champ_vitx;
  JLabel titre_vity;
  JTextField champ_vity;
 
int n;
 
public Principale()
 { super("Mouvement de Planete" );
      n=1;
 
      tab_planetes = new Vector();
 
      new_planete = new Planete();
 
 
    //Création de la fenetre
      JPanel pane = new JPanel();
 
      //définition des différents champs et étiquettes utilisés
      titre_nom = new JLabel("Nom" );
      champ_nom = new JTextField("Planete_"+n,10);
      champ_nom.setEditable(true);
      titre_masse = new JLabel("Masse" );
      champ_masse = new JTextField(10);
      champ_masse.setEditable(true);
      titre_posx = new JLabel("Position X" );
      champ_posx = new JTextField(10);
      champ_posx.setEditable(true);
      titre_posy = new JLabel("Position Y" );
      champ_posy = new JTextField(10);
      champ_posy.setEditable(true);
      titre_vitx = new JLabel("Vitesse X" );
      champ_vitx = new JTextField(10);
      champ_vitx.setEditable(true);
      titre_vity = new JLabel("Vitesse Y" );
      champ_vity = new JTextField(10);
      champ_vity.setEditable(true);
 
      ajout = new JButton("Valider" );
      ajout.addActionListener (this);
 
      calcul = new JButton("Calcul" );
      calcul.addActionListener (this);
 
      simu = new JButton("Simuler" );
      simu.addActionListener (this);
 
      pane.add("",titre_nom);
      pane.add("",champ_nom);
      pane.add("",titre_masse);
      pane.add("",champ_masse);
      pane.add("",titre_posx);
      pane.add("",champ_posx);
      pane.add("",titre_posy);
      pane.add("",champ_posy);
      pane.add("",titre_vitx);
      pane.add("",champ_vitx);
      pane.add("",titre_vity);
      pane.add("",champ_vity);
 
      pane.add("",ajout);
      pane.add("",calcul);
      pane.add("",simu);
      this.setContentPane(pane);
 
 }
 
public static void main (String [] args)
 {
   JFrame frame = new Principale();
 
   // Affichage propre de frame
   frame.resize(185,300);
   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   Dimension frameSize = frame.getSize();
   if (frameSize.height > screenSize.height) frameSize.height = screenSize.height;
   if (frameSize.width > screenSize.width) frameSize.width = screenSize.width;
   frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
   frame.setVisible(true);
 }
 
 // Sortie automatique en fermant la fenêtre (X)
 protected void processWindowEvent(WindowEvent e)
 { super.processWindowEvent(e);
   if (e.getID() == WindowEvent.WINDOW_CLOSING) {System.exit(0);}
 }
 
 // Gestion des réponses aux évènements
 public void actionPerformed (ActionEvent evt )
 { Object src=evt.getSource();
 
 n++;
 
   if (src==ajout)
   { setVisible(true); // fermeture de la fenêtre Principale
 
     WindowListener l = new WindowAdapter()
     { public void windowclosing() { System.exit(0);} };
 
     //remplir les variables par les champs
       new_planete._nom = champ_nom.getText();
       new_planete._masse = (new Double( champ_masse.getText() )).doubleValue();
       new_planete._position = new Point2D.Double( (new Double( champ_posx.getText() )).doubleValue() , (new Double( champ_posy.getText() )).doubleValue());
       new_planete._vitesse = new Point2D.Double( (new Double( champ_vitx.getText() )).doubleValue() , (new Double( champ_vity.getText() )).doubleValue());
 
       //Remplir le vecteur par les planetes
       tab_planetes.addElement(new_planete);
 
       champ_nom.setText("Planete_"+n);
       champ_masse.setText("" );
       champ_posx.setText("" );
       champ_posy.setText("" );
       champ_vitx.setText("" );
       champ_vity.setText("" );
     }
 
   if (src==calcul)
   {
   result = new Calcul(tab_planetes,10,n,1);
    // setVisible(true); // ouverture de la fenêtre Principale
   }
 
   if (src==simu)
   { //setVisible(true); // fermeture de la fenêtre Principale
 
 
     }
 }
}


---------------
http://www.zytratech.com
n°296017
gloop
Posté le 29-01-2003 à 08:48:41  profilanswer
 

c quoi le msg d'erreur ?

n°296019
zytrahus5
wait what?
Posté le 29-01-2003 à 08:49:29  profilanswer
 

en regardant bien l'erreur n'est pas la meme :/
 
il y a ça au début du message qui est différent :
 

Exception occurred during event dispatching:
 
java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
 
 at java.util.Vector.elementAt(Vector.java:417)
 
 at mvt_planete.Calcul.<init>(Calcul.java:53)
 
 at mvt_planete.Principale.actionPerformed(Principale.java:155)
 
 at javax.swing.AbstractButton.fireActionPe........./......


 
 
2 c'est ma valeur de mon int n, le probleme apparait a la ligne de lancement de la classe calcul...
 
est elle mal déclarée ?


---------------
http://www.zytratech.com
n°296020
gloop
Posté le 29-01-2003 à 08:51:36  profilanswer
 

zytrahus5 a écrit :

en regardant bien l'erreur n'est pas la meme :/
 
il y a ça au début du message qui est différent :
 

Exception occurred during event dispatching:
 
java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
 
 at java.util.Vector.elementAt(Vector.java:417)
 
 at mvt_planete.Calcul.<init>(Calcul.java:53)
 
 at mvt_planete.Principale.actionPerformed(Principale.java:155)
 
 at javax.swing.AbstractButton.fireActionPe........./......


 
 
2 c'est ma valeur de mon int n, le probleme apparait a la ligne de lancement de la classe calcul...
 
est elle mal déclarée ?


 
c pas ton btn calcul qui fait planté. C'est à l'intérieur du constructeur de la classe Calcul: dépassement d'indice à priori

n°296021
zytrahus5
wait what?
Posté le 29-01-2003 à 08:53:01  profilanswer
 

bah justement, ça me semblait correct :/ j'esperais au moins en avoir fait une de bonne :cry:
 
 

package mvt_planete;
 
import java.util.Vector;
import java.awt.event.*;
import java.awt.geom.Point2D;
import java.lang.*;
import java.lang.String;
import java.awt.*;
import javax.swing.*;
 
 
 
/*
*/
 
public class Calcul{
 //Attributs
 
Planete current_planete;
Planete other_planete;
Vector current_traj;
Vector all_traj;
 
 //Methodes
 // ->Constructeur
      public Calcul(Vector all_planetes, int iter, int Np, double Dt) {
 
      int i,j,t;
      double G,A,B,C;
      G = 6.67259E-11;
 
      current_planete = new Planete();
      other_planete = new Planete();
 
      all_traj = new Vector(Np);
      current_traj = new Vector();
 
 
      for (t=0;t<iter;t++)
                {
                for (j=0;j<Np;i++)
                      {
                      current_planete = (Planete) all_planetes.elementAt(j);
                      A = 0;
                      B = 0;
                      C = 0;
 
                      //Calcul des COEFFICIENTS A, B et C
                      for (i=0;i<Np;i++)
                            {
                            if (j!=i)
                                {
                                other_planete = (Planete) all_planetes.elementAt(i);
                                A = A + G*other_planete._masse / Math.pow(Math.sqrt( Math.pow((current_planete._position.x-other_planete._position.x),2) + Math.pow((current_planete._position.y-other_planete._position.y),2) ),3);
                                B = B + G*other_planete._masse*other_planete._vitesse.x / Math.pow(Math.sqrt( Math.pow((current_planete._position.x-other_planete._position.x),2) + Math.pow((current_planete._position.y-other_planete._position.y),2) ),3);
                                C = C + G*other_planete._masse*other_planete._vitesse.y / Math.pow(Math.sqrt( Math.pow((current_planete._position.x-other_planete._position.x),2) + Math.pow((current_planete._position.y-other_planete._position.y),2) ),3);
                                }
                            }
                      //Calcul de Xj(t + Dt)
                      current_planete._position.x = current_planete._position.x + Dt*(current_planete._vitesse.x);
 
                      //Calcul de Yj(t + Dt)
                      current_planete._position.y = current_planete._position.y + Dt*(current_planete._vitesse.y);
 
                      //Calcul de Vxj(t + Dt)
                      current_planete._vitesse.x = current_planete._vitesse.x - A*Dt*(current_planete._vitesse.x) + B;
 
                      //Calcul de Vyj(t + Dt)
                      current_planete._vitesse.y = current_planete._vitesse.y - A*Dt*(current_planete._vitesse.y) + C;
                      }
 
                current_traj = (Vector) all_traj.elementAt(j);
                current_traj.addElement(new Point2D.Double(current_planete._position.x, current_planete._position.y));
                all_traj.setElementAt(current_traj, j);
 
                }
 
 
       }
 
}


---------------
http://www.zytratech.com
n°296023
gloop
Posté le 29-01-2003 à 08:59:05  profilanswer
 

au lieu d'utiliser ton Np, utilise la méthode size () de Vector.
Comme ca t'es sur d'avoir tjs la bonne taille et ca t'évite aussi de gérer un compteur à coté

n°296030
zytrahus5
wait what?
Posté le 29-01-2003 à 09:03:53  profilanswer
 

"Principale.java" : Erreur No. 300 : méthode size(java.util.Vector) introuvable  dans classe mvt_planete.Principale en ligne 156, colonne 40

gloop a écrit :

au lieu d'utiliser ton Np, utilise la méthode size () de Vector.
Comme ca t'es sur d'avoir tjs la bonne taille et ca t'évite aussi de gérer un compteur à coté

voilà, j'ai remplacé dans la classe principale, j'ai mis ça :
 

result = new Calcul(tab_planetes,10,size(tab_planetes),1);


 
là il est compile meme plus... :/ ouinnnnn on dirait que je fais que des erreurs :cry:
 

"Principale.java" : Erreur No. 300 : méthode size(java.util.Vector) introuvable  dans classe mvt_planete.Principale en ligne 156, colonne 40


---------------
http://www.zytratech.com
n°296031
gloop
Posté le 29-01-2003 à 09:05:38  profilanswer
 

Code :
  1. tab_planets.size ()


et t'as plus besoin de passer en paramétres. tu peux l'utiliser directement dans ta fonction


Message édité par gloop le 29-01-2003 à 09:06:17
n°296032
Cherrytree
cn=?
Posté le 29-01-2003 à 09:06:05  profilanswer
 

tab_planetes.size(), c'est mieux.
 
edit : je suis grillé.


Message édité par Cherrytree le 29-01-2003 à 09:06:27

---------------
Le site de ma maman
n°296033
zytrahus5
wait what?
Posté le 29-01-2003 à 09:06:36  profilanswer
 

oups, j'ai rien dit, j'avais mal fait la syntaxe...
 
 
 
mainetanant le meilleur pour la fin :
 
le programme part en boucle infini :/ au moment du calcul :/


---------------
http://www.zytratech.com
n°296034
gloop
Posté le 29-01-2003 à 09:07:57  profilanswer
 

t'as mis
 

Code :
  1. for (j=0;j<Np;i++)

 
mais ce serait sans doute  
 

Code :
  1. for (j=0;j<Np;j++)

n°296037
zytrahus5
wait what?
Posté le 29-01-2003 à 09:11:14  profilanswer
 

gloop a écrit :

t'as mis
 

Code :
  1. for (j=0;j<Np;i++)

 
mais ce serait sans doute  
 

Code :
  1. for (j=0;j<Np;j++)

 

chu trop nul :/
 
 
 
bon, encore un probleme, je vois pas ce qu'il ne va pas là :
 
 
il me sort la meme erreur avec indice exceed :
 

Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 3 >= 0
 at java.util.Vector.elementAt(Vector.java:417)
 at mvt_planete.Calcul.<init>(Calcul.java:72)
 at mvt_planete.Principale.actionPerformed(Principale.java:158)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
 at javax.swing.AbstractButton$ForwardAc


---------------
http://www.zytratech.com
n°296040
zytrahus5
wait what?
Posté le 29-01-2003 à 09:18:24  profilanswer
 

apparemment, d'apres le message d'erreur ça viendrait de cette ligne :
 

current_traj = (Vector) all_traj.elementAt(j);


 
mais je vois pas ce qui ne va pas la dedans


---------------
http://www.zytratech.com
n°296042
gloop
Posté le 29-01-2003 à 09:21:52  profilanswer
 

t'essai d'acceder à l'indice 3 de ton vecteur qui ne contient aucun elt. Verifie tes tailles et indices

n°296047
zytrahus5
wait what?
Posté le 29-01-2003 à 09:25:08  profilanswer
 

gloop a écrit :

t'essai d'acceder à l'indice 3 de ton vecteur qui ne contient aucun elt. Verifie tes tailles et indices

ça doit pas etre ça, parce que je viens de mettre un println, et il me sort bien que j'ai 3 composantes dans mon vecteur... non nulles qui plus est :/


---------------
http://www.zytratech.com
n°296052
gloop
Posté le 29-01-2003 à 09:31:27  profilanswer
 

j'ai pas relu tout le code mais au début tu initialises all_traj comme un Vector. Apparemment tu veux un vecteur de vecteurs mais tu initiliases pas les vecteurs à l'intérierur. Au début essaie d'ajouter ca:
 

Code :
  1. all_traj = new Vector ();
  2. for (i = 0; i < Np; ++i)
  3.    all_traj.addElement (new Vector ());

n°296053
zytrahus5
wait what?
Posté le 29-01-2003 à 09:32:39  profilanswer
 

gloop a écrit :

j'ai pas relu tout le code mais au début tu initialises all_traj comme un Vector. Apparemment tu veux un vecteur de vecteurs mais tu initiliases pas les vecteurs à l'intérierur. Au début essaie d'ajouter ca:
 

Code :
  1. all_traj = new Vector ();
  2. for (i = 0; i < Np; ++i)
  3.    all_traj.addElement (new Vector ());

 

c'est exactement ce que je veux oui, un vecteur de vecteur. j'essaie ton code.


---------------
http://www.zytratech.com
n°296058
zytrahus5
wait what?
Posté le 29-01-2003 à 09:34:59  profilanswer
 

ouinnnnnnnnnn, ça a évolué, mais ça pose toujours probleme, voilà le msg d'erreur :
 

Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
 at java.util.Vector.elementAt(Vector.java:417)
 at mvt_planete.Calcul.<init>(Calcul.java:76)
 at mvt_planete.Principale.actionPerformed(Principale.java:159)


 
cette fois il dit 2>=2  :heink:


---------------
http://www.zytratech.com
n°296064
zytrahus5
wait what?
Posté le 29-01-2003 à 09:43:41  profilanswer
 

je vais essayer d'expliquer ce que j'ai tapé à la fin de ma classe calcul :
 

current_traj = (Vector) all_traj.elementAt(j);
                current_traj.addElement(new Point2D.Double(current_planete._position.x, current_planete._position.y));
                all_traj.setElementAt(current_traj, j);


 

  • la premiere ligne me permet de récupérer le vecteur de trajectoire de la planete courrante, il s'agit d'un vecteur, et all_traj lui est aussi un vecteur qui contient Np Vecteur (autant que de trajectoires ,autant que de planetes)


  • la seconde, je l'ai faite dans le but, d'ajouter un élément de type point2D.Double au vecteur courant.


  • enfin la troisieme me permet de remplacer le contenu de le j-ième vecteur de mon vecteur all_traj par le vecteur current_traj


 
autrement dit le but, est d'ajouter un élément de type Point2D.Double à un vecteur lui meme contenu dans un vecteur.


---------------
http://www.zytratech.com
n°296068
gloop
Posté le 29-01-2003 à 09:47:06  profilanswer
 

ca plante sur quelle ligne ?

n°296071
zytrahus5
wait what?
Posté le 29-01-2003 à 09:48:10  profilanswer
 

gloop a écrit :

ca plante sur quelle ligne ?

la premiere...  avec le message :
 

Exception occurred during event dispatching:
 
java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
 
 at java.util.Vector.elementAt(Vector.java:417)
 
 at mvt_planete.Calcul.<init>(Calcul.java:76


 
les deux éléments sont non nuls...
 
EDIT : Quand je dis la premiere, c'est la premiere des trois que j'ai expliqué plus haut... :jap:


Message édité par zytrahus5 le 29-01-2003 à 09:48:48

---------------
http://www.zytratech.com
n°296076
gloop
Posté le 29-01-2003 à 09:52:36  profilanswer
 

tu vas une unité trop loin avec j. Vérifie tes tests de boucle

n°296077
zytrahus5
wait what?
Posté le 29-01-2003 à 09:53:24  profilanswer
 

[citation=296076,1][nom]gloop a écrit[/nom]tu vas une unité trop loin avec j. Vérifie tes tests de boucle
[/citationp]  
 
 
pourtant je mets bien < (strictement) Np ?


---------------
http://www.zytratech.com
n°296080
gloop
Posté le 29-01-2003 à 09:54:45  profilanswer
 

utilise la méthode size () sur le vector que tu veux parcourir, ca t'evitera des probs d'indices

n°296081
zytrahus5
wait what?
Posté le 29-01-2003 à 09:55:22  profilanswer
 

j'ai trouvé....
 
 
mes trois lignes étaient pas dans la bonne boucle, une acolode fermée trop tot :/


---------------
http://www.zytratech.com
n°296085
zytrahus5
wait what?
Posté le 29-01-2003 à 09:59:48  profilanswer
 

si je veux que ma classe calcul renvoi le vecteur de vecteur, il faut que je modifie toute ma classe non ?
 
 
parce que là, j'ai qu'un constructeur :/ il faudrait que je mette tout dans une méthode...
 
? :??:


---------------
http://www.zytratech.com
n°296088
zytrahus5
wait what?
Posté le 29-01-2003 à 10:03:27  profilanswer
 

a moins que je puisse accéder aux attributs de la classe calcul par le biais du constructeur que j'ai créé dans la fenetre principale ?
 

if (src==calcul)
   {
   result = new Calcul(tab_planetes,10,1);
    // setVisible(true); // ouverture de la fenêtre Principale
   }


 
par exemple, si je le complete de cette façon :
 
 

if (src==calcul)
   {
   result = new Calcul(tab_planetes,10,1);
   //vect_aff déclaré plus en tant que vecteur de vecteur
   vect_aff = result.all_traj;
    // setVisible(true); // ouverture de la fenêtre Principale
   }


 
est ce que ça serait bon ? :??:


---------------
http://www.zytratech.com
n°296156
gloop
Posté le 29-01-2003 à 11:35:49  profilanswer
 

zytrahus5 a écrit :

a moins que je puisse accéder aux attributs de la classe calcul par le biais du constructeur que j'ai créé dans la fenetre principale ?
 

if (src==calcul)
   {
   result = new Calcul(tab_planetes,10,1);
    // setVisible(true); // ouverture de la fenêtre Principale
   }


 
par exemple, si je le complete de cette façon :
 
 

if (src==calcul)
   {
   result = new Calcul(tab_planetes,10,1);
   //vect_aff déclaré plus en tant que vecteur de vecteur
   vect_aff = result.all_traj;
    // setVisible(true); // ouverture de la fenêtre Principale
   }


 
est ce que ça serait bon ? :??:  


 
oui, mais vaut mieux créer une méthode d'accés plutot que de tout mettre en public.
dans cette méthode tu renvoies soit une copie de ton vecteur soit directement la référence, c'est à toi de voir ce que tu veux en faire.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [[Java]] -- Un gros probleme entre méthodes.

 

Sujets relatifs
[oracle] problème d'installation Oracle8i + questions de newbieProbleme avec forum phpbb ?
[JAVA] - Récupérer le contenu d'un champUtiliser le carnet d'adresse de outlook depuis java ?
[Java] - Help Méchament Needed en post #4 - (projet CO inside) :/Un petit probleme de syntaxe ... .LinkedCell
comment créer un ficher .class à partir d'un .java ? Helpppppppppppppje recherche un ide a telecharger pour java
[html hard core newbie] Problème pour juxtaposer des images...problème de "handle" sur D5
Plus de sujets relatifs à : [[Java]] -- Un gros probleme entre méthodes.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR