Quiero pasar el codigo de el problema de la mochila a Interfaz grafica, pero me surgen unos errores y dudas al momento de hacerlo, como haria para que me salgan los datos en la interfaz grafica(hay aparte una clase llamada beneficio donde tengo mis variables de beneficio, peso y bxp(beneficioxpeso)):
public void metodoMochila(){ int p = Integer.parseInt(this.txtpesogenerado01.getText()); int q = (int)Integer.parseInt(this.txtpesogenerado02.getText()); float solucion[] = new float [p];// tipo unidimensional (vector); Beneficio objetos[] = new Beneficio[p]; llenar(objetos); // ingresamos los valores mostrar(objetos); //muestra los elementos ingresados directa(objetos); // ordena de acuerdo a nuestra funcion seleccion mostrar(objetos); // muestra los elementos ordenados objetivo(solucion , objetos); // resuelve el problema mostrar(solucion,objetos); // muestra la solucion } //funcion para llenar los vectores public static void llenar(Beneficio vector [] ){ for(int i = 0 ; i < vector.length ;i++) { //int n =(int) Float.parseFloat(btxtPrimos.getText()); int p1 = (int )Float.parseFloat(txtpesogenerado01.getText().toString()+(i+1)); int p2 = (int) Float.parseFloat(txtpesogenerado02.getText().toString+(i+1)); int p3 = (int) Float.parseInt(txtpesogenerado03.getText().toString()+(i+1)); int p4 = (int) Float.parseInt(txtpesogenerado04.getText().toString()+(i+1)); int b1 = (int) Float.parseInt(txtbeneficiogenerado01.getText().toString()+(i+1)); int b2 = (int) Float.parseInt(txtbeneficiogenerado02.getText().toString()+(i+1)); int b3 = (int) Float.parseInt(txtbeneficiogenerado03.getText().toString()+(i+1)); int b4 = (int) Float.parseInt(txtbeneficiogenerado04.getText().toString()+(i+1)); vector[i]= new Beneficio (p1,b1); // calcula el bxp vector[i]= new Beneficio (p2,b2); // calcula el bxp vector[i]= new Beneficio (p3,b3); // calcula el bxp vector[i]= new Beneficio (p4,b4); // calcula el bxp } } //funcion para ordenar segun el beneficio por unidad public static void directa(Beneficio [] vector ) { int i,k,j; double menor; Beneficio aux = new Beneficio(); aux = vector[0]; for(i=0 ; i<vector.length;i++ ) { menor=vector[i].getBxp(); k=i; for(j=i+1 ; j<vector.length;j++ ) { if(vector[j].getBxp()< menor) // ordena el valor por bxp { menor=vector[j].getBxp(); aux= vector[j]; k=j; } } aux= vector[k]; vector[k]=vector[i]; vector[i]=aux; } } public static void mostrar(Beneficio [] aux ) { String beneficio="beneficio: ",peso = "peso" , valor="valor por unidad: " ; for(int i=0 ; i<aux.length;i++) { beneficio+= aux[i].getBeneficio() + " , "; peso += aux[i].getPeso() + " , "; valor += (aux[i].getBeneficio() / aux[i].getPeso()) + " , "; } JOptionPane.showMessageDialog(null, peso + "\n" + beneficio + "\n" + valor ); } public static void mostrar(float aux [] , Beneficio b []) { String solucion=" solucion: " ; float suma = 0; for(int i=0 ; i<aux.length;i++) { solucion += aux[i]+ "-------"; suma+= aux[i]*b[i].getBeneficio(); } JOptionPane.showMessageDialog(null, solucion + "\n total beneficio: " + suma ); } //funcion para seleccionar los objetos: //MAX F.O: public static void objetivo(float solucion[], Beneficio objetos[]) // envia un vector solucion () { //int m = (int) Integer.parseFloat(this.txtpesoTotal.getText()); //int m =(int) Float.parseFloat(btxtPesoTotal.getText()); int m = Integer.parseFloat(btxtPesoTotal.getText().toString()); float pesoactual= 0; int i = solucion.length-1;// empieza a recorrerlo desde el final por haber ordenado de mayor a menor while(pesoactual < m || i>= 0) { JOptionPane.showMessageDialog(null, " peso actual: "+ pesoactual + " peso objeto " + i + " :" + objetos[i].getPeso() + "\n "); if( (pesoactual + objetos[i].getPeso()) < m ) //<--- el objeto que se tomará { solucion[i]= 1; pesoactual+= objetos[i].getPeso(); JOptionPane.showMessageDialog(null, " peso actual: "+ pesoactual + " porcentaje tomado del objeto " + i + " :" + solucion[i]*100 + "\n "); } else { solucion[i]=(m-pesoactual)/objetos[i].getPeso(); pesoactual += ((m-pesoactual)/objetos[i].getPeso())* objetos[i].getPeso(); JOptionPane.showMessageDialog(null, " peso actual: "+ pesoactual + " porcentaje tomado del objeto " + i + " :" + solucion[i]*100 + "\n "); //fraccionamos_/ } i--; } }