Un point comme argument d'une fonction java
sabrinaSbina
Messages postés
18
Statut
Membre
-
sabrinaSbina Messages postés 18 Statut Membre -
sabrinaSbina Messages postés 18 Statut Membre -
bonsoir,
j'ai un algorithme implimenté en matlab.puisque jai besoin d'une version en java, jai choisi d'utiliser l'outil MATLAB java builder pour generer les packages et le fichier .jar necessaire.
Dans jave, j'ai crée ce classe pour appeler la fonction principale de l'algorithme(r_nsga_2)
import com.mathworks.toolbox.javabuilder.MWException;
import Sabrine.*;
public class drive {
public drive() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
Rnsga2essai x = null;
Object [] result= null;
try {
x= new Rnsga2essai();
result=x.r_nsga_2(20,50,[0.2 0.5],0.6);
System.out.println(result);
} catch (MWException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
le problème qu'il n'accepte pas le 3eme argument de la fonction qui est les coordonnées d'un point de préférence.meme lorsque je fais une classe Point a part et je fais l'appel a une instance crée , toujours il ya une erreur :(.stp qui peut maider?
j'ai un algorithme implimenté en matlab.puisque jai besoin d'une version en java, jai choisi d'utiliser l'outil MATLAB java builder pour generer les packages et le fichier .jar necessaire.
Dans jave, j'ai crée ce classe pour appeler la fonction principale de l'algorithme(r_nsga_2)
import com.mathworks.toolbox.javabuilder.MWException;
import Sabrine.*;
public class drive {
public drive() {
// TODO Auto-generated constructor stub
}
/**
* @param args
*/
public static void main(String[] args) {
Rnsga2essai x = null;
Object [] result= null;
try {
x= new Rnsga2essai();
result=x.r_nsga_2(20,50,[0.2 0.5],0.6);
System.out.println(result);
} catch (MWException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
le problème qu'il n'accepte pas le 3eme argument de la fonction qui est les coordonnées d'un point de préférence.meme lorsque je fais une classe Point a part et je fais l'appel a une instance crée , toujours il ya une erreur :(.stp qui peut maider?
A voir également:
- Un point comme argument d'une fonction java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Fonction si et - Guide
- Comment inserer une video dans un power point - Guide
- Eclipse java - Télécharger - Langages
1 réponse
Quand tu as une erreur, ce serait bien de nous donner son intitulé, c'est en général utile !
Il faudrait voir comment tu as fait la classe Rnsga2essai et quel est le type des valeurs attendues pour r_nsga_2, mais vu ce que tu en dis ça pourrait être comme ça :
Il faudrait voir comment tu as fait la classe Rnsga2essai et quel est le type des valeurs attendues pour r_nsga_2, mais vu ce que tu en dis ça pourrait être comme ça :
public static void main(String...args) throws MWException
{
Rnsga2essai x = new Rnsga2essai();
Object[] result = x.r_nsga_2(20,50,new Point(0.2,0.5),0.6);
if (result!=null)
for (Object r : result)
System.out.println(r);
}La confiance n'exclut pas le contrôle
Vu ton message d'erreur j'imagine que ce qui est attendu est un mxArray, mais c'est difficile à dire car ce n'est plus vraiment du Java, ça va dépendre des bibliothèques que tu utilises pour manipuler Matlab.
Exemple avec com.sun.jna.Pointer (JNA) et net.lunglet.matlab.MXArray (array4j)
private static MXArray toArray(double...tab) { Pointer pointer = new Pointer(); pointer.write(0,tab,0,tab.length); return new MXArray(pointer); } Rnsga2essai x = new Rnsga2essai(); Object[] result = x.r_nsga_2(20,50,toArray(0.2,0.5),0.6);Il faut donc retrouver la définition de la méthode r_nsga_2 dans ta classe Rnsga2essai et la donner, parce que sinon on ne s'en sortira jamais, je pourrais toujours faire des Point, des MXArray et continuer de jouer aux devinettes, mais toi tu as la réponse sous le nez !
Ça doit être quelque chose comme cela :