- Help Méchament Needed en post #4 - (projet CO inside) :/ [Java] - Java - Programmation
Marsh Posté le 28-01-2003 à 16:38:44
Il faut caster ... elementAt() te renvoie un Object, pas un Planete.
Code :
|
Marsh Posté le 28-01-2003 à 17:05:26
Dsls a écrit : Il faut caster ... elementAt() te renvoie un Object, pas un Planete.
|
merci beaucoup sur le dernier, il fallait le caster en Vector, parce que c'est un vecteur de vecteur... Mais c'est bon là
Plus basiquement, j'ai un autre problème
J'ai créé une classe ajout_planete qui me permet de saisir des données dans des champs et ensuite de les renvoyer à la classe qui l'a appelé.
Là elle est encore toute simple, je n'ai pas afficher encore tous les champs, mais déjà la elle ne veut pas afficher un pauvre texte avec system.println
Je n'ai pas encore ajouté le fait qu'elle retourne un objet de type planete... enfin bref :
voici cette classe :
package mvt_planete; |
Marsh Posté le 28-01-2003 à 17:29:19
il ne rentre jamais dans ce test (dans ma classe ajout_planete)
if (src==valid) |
pourtant tout semble bien déclaré... et il ne me sort pas d'erreur
Marsh Posté le 28-01-2003 à 18:13:48
Bon, il me semble avoir réglé mes problèmes, mais un autre a apparu...
j'ai une classe graphique... ajout_planete elle possede des champs, et je sais comment convertir les string en double, mais mon probleme réside dans le fait que je dois renvoyer un objet de type Planete au moment ou je clique sur le bouton valider mais je sais pas comment faire, parce que ma méthode actionperformed ne veut pas que je renvois autre chose que void...
donc j'ai créé une méthode renvoi_planete mais ça marche pas... je crois que ça marche pas parce que je l'appelle depuis la methode actionperformed, mais je suis pas sur...
pouvez vous me dire comment renvoyer un objet de type Planete à la classe qui a appelé celle ci :
package mvt_planete; |
merci pour le coup de main, parce que là je bloque vraiment
Marsh Posté le 28-01-2003 à 18:38:02
zytrahus5 a écrit : Bon, il me semble avoir réglé mes problèmes, mais un autre a apparu...
|
s'il vous plait il ne me reste vraiment plus beaucoup de temps avant de devoir le rendre...
Marsh Posté le 28-01-2003 à 18:50:41
comment on fait pour renvoyer un double depuis la méthode d'une classe qui renvoit déjà void (non modifiable) ?
Marsh Posté le 28-01-2003 à 19:09:14
zytrahus5 a écrit : comment on fait pour renvoyer un double depuis la méthode d'une classe qui renvoit déjà void (non modifiable) ? |
bin si la méthode renvoit rien elle peut pas renvoyer un double hein!
Marsh Posté le 28-01-2003 à 19:49:49
DarkLord a écrit : |
c'est pour ça que je demande, comment faire pour renvoyer une variable par une autre méthode...
Marsh Posté le 28-01-2003 à 16:17:55
salut
voilà, j'ai un projet à faire, assez simple, il consiste à afficher (et calculer) les trajectoires de planetes dans l'espace...
faire une GUI pour saisir les planetes, masses, position, vitesse, etc...
on a les équations, et aussi les classes d'affichages de points (Point2D.Double en arguement)
bref, voilà ce que j'ai tapé :
la classe calcul prend en argument un vector d'objet de type planete (attributs : _nom _masse _vitesse etc...)
mais quand je tente de copier le contenu d'un élément du vecteur dans un objet de type Planete (donc du meme type) voilà ce qu'il me dit :
"Calcul.java" : Erreur No. 354 : types incompatibles ; trouvé : java.lang.Object, requis : mvt_planete.Planete en ligne 43, colonne 63
Voilà ma classe calcul...
Qu'en pensez vous ?
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 = all_planetes.elementAt(j);
//Calcul des COEFFICIENTS A, B et C
for (i=0;i<Np;i++)
{
if (j!=i)
{
other_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 = all_traj.elementAt(j);
current_traj.addElement(new Point2D.Double(current_planete._position.x, current_planete._position.y));
all_traj.setElementAt(current_traj, j);
}
}
}
Message édité par zytrahus5 le 28-01-2003 à 18:15:16
---------------
http://www.zytratech.com