2016-03-23 27 views
-1

Kodumu yazdım ve ben de birden çok değer döndürmek istiyorum: nasıl YaniJava'da birden fazla değer nasıl iade edilir?

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) { 
    } 
    } 

:

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) 

kodum:

public int[] getResult(){ 
return geneticAlgorithm(cost,profit,gens,turns,cmax); 

ama bu bana eror göstermek kullandığınızda Birden çok değer döndürüyorum veya Bunu nasıl düzeltirim?

+1

. Sanırım sınıflar ve fonksiyonlar karıştırıyorsunuz, Java iki farklı alan olarak kalıyor ... bu gibi satırlar sahiplik sınıfına atıfta bulunacak. Birden çok değer dönmek isterseniz, alan olarak bu değerlere sahip bir sınıf dönmek veya bunların bir dizi oluşturmak gerekir ya (onlar aynı türden iseniz.) ait –

+0

Olası yinelenen [birden fazla nesne döndürmek için nasıl bir Java yöntemi?] (http://stackoverflow.com/questions/457629/how-to-return-multiple-objects-from-a-java-method) –

+1

Eğer insanların kodlarına bakmak istiyorsanız en azından bazı yapmak Okunabilir bir şekilde biçimlendirmek için çaba. –

cevap

1

İhtiyacınız dönüş değerlerinin sayısı ile bir nesne olun. İstediğiniz bu değerlerle yeni bir nesne oluşturun. Nesneyi döndür. ... benim için bile, Java kodu gibi görünmüyor

+0

Tamam, ben Sure @petko tekrar – petko

+0

teşekkür deneyin :) Eğer kabul/Sorununuz varsa bir cevap upvote eğer O güzel olurdu çözüldü. [Buradan] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), "Bir sorunun cevabı, hem sorununuzu çözmek için posterleri ödüllendirdiğinden hem de başkalarını bilgilendirirken önemlidir. Sorununuz çözüldü. " –

+0

yardıma ihtiyacınız varsa bana bildirin @petko size – petko