я написал код, и я хочу вернуть несколько значений в:Как вернуть более одного значения в java?
public int[] getResult(){
return geneticAlgorithm(cost,profit,gens,turns,cmax);
но когда я использую это показать мне EROR:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: knapsacproject.algorithm.geneticAlgorithm([I[IIII)[I
at knapsacproject.algorithm.geneticAlgorithm(Native Method)
at knapsacproject.algorithm.getResult(algorithm.java:39)
мой код:
package knapsacproject;
public class algorithm {
public native int [] geneticAlgorithm(int[] cost, int[] profit,int cmax, int gens, int turns);
static {
try {
System.load("C:/Users/Desktop/dp/KnapSacProject/src/knapsacproject/helo.dll");
System.out.println("loaded successfully");
} catch (Exception e){
e.printStackTrace();
}
}
protected int[] cost, profit, result;
protected int gens, turns, cmax;
public algorithm(int[] cost,int[] profit, int gens ,int turns , int cmax) {
this.cost=cost;
this.profit=profit;
this.gens=gens;
this.turns=turns;
this.cmax=cmax;
}
public int[] getResult(){
return geneticAlgorithm(cost,profit,gens,turns,cmax);
}
public static void main (String[] args) {
}
}
Так Как Я возвращаю несколько значений или как это исправить?
Это ... даже не похоже на код Java, мне. Я думаю, что вы как бы смешиваете классы и функции, которые Java хранит как два разных домена ... строки типа this.cost будут относиться к классу владеющих. Если вы хотите вернуть несколько значений, вам нужно либо вернуть класс, который имеет эти значения в виде полей, либо построить массив из них (если они одного типа.) –
Возможный дубликат [Как вернуть несколько объектов из метод Java?] (http://stackoverflow.com/questions/457629/how-to-return-multiple-objects-from-a-java-method) –
Если вы хотите, чтобы люди смотрели ваш код, по крайней мере, чтобы отформатировать его читаемым образом. –