El problema es el siguiente:
Tengo una huerta de naranjas, y quiero controlar cuantas naranjas recojo organizadas según las siguientes características: diámetros,colores,maduraciones,formas y pesos.
Los posibles valores de cada características se ven en los siguientes arrays:
Código:
Dado este problema, tengo que organizar los Kg que recojo de cada tipo. Y con todo ello me he construido el siguiente código JAVA:String diametros[]={"Pequeño","Mediano","Grande"}; String colores[]={"Naranja","Amarilla","Verde"}; String maduraciones[]={"Pasada","Óptima","Ligeramente inmadura","Completamente inmadura"}; String formas[]={"Redonda","Otra forma"}; String pesos[]={"Menos 100g","Entre 100 y 200g","Entre 200 y 300g","Entre 300 y 400g","Entre 400 y 500g","Mayor 500g"};
Código:
Cuando se ejecuta este programa, hay algunas veces en el que ramas enteras en la visualización del esquema que se ve no tienen naranjas... y sin embargo salen. Me gustaría que saliera un resultado similar al que se ve aquí... solo que si en un ramal no hay valores, que no salga nada de dicho ramal. import javax.swing.JOptionPane; public class PequeñosCodigos{ public static void main(String[] args){ int naranjas[][][][][]=new int[3][3][4][2][6]; String diametros[]={"Pequeño","Mediano","Grande"}; String colores[]={"Naranja","Amarilla","Verde"}; String maduraciones[]={"Pasada","Óptima","Ligeramente inmadura","Completamente inmadura"}; String formas[]={"Redonda","Otra forma"}; String pesos[]={"Menos 100g","Entre 100 y 200g","Entre 200 y 300g","Entre 300 y 400g","Entre 400 y 500g","Mayor 500g"}; int diametro,color,maduracion,forma,peso; do{ diametro=JOptionPane.showOptionDialog (null,"Elije un tamaño:","Naranjas",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,diametros,diametros[0]); color=JOptionPane.showOptionDialog (null,"Elije un color:","Naranjas",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,colores,colores[0]); maduracion=JOptionPane.showOptionDialog (null,"Elije una Maduracion:","Naranjas",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,maduraciones,maduraciones[1]); forma=JOptionPane.showOptionDialog (null,"Elije una Forma:","Naranjas",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,formas,formas[0]); peso=JOptionPane.showOptionDialog (null,"Elije un color:","Naranjas",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,pesos,pesos[1]); naranjas[diametro][color][maduracion][forma][peso]+=Integer .parseInt (JOptionPane.showInputDialog ("Introduce El peso para la elección anterior")); } while(JOptionPane.showConfirmDialog (null,"¿Repetir?","WARNING", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION); for (int i=0;i<naranjas.length;i++){ System.out.println ((i+1)+".- Diametro: "+diametros[i]); for (int j=0;j<naranjas[i].length;j++){ System.out.println ("\t"+(i+1)+"."+(j+1)+".- Color: "+colores[j]); for (int k=0;k<naranjas[i][j].length;k++){ System.out.println ("\t\t"+(i+1)+"."+(j+1)+"."+(k+1)+".- Maduración: "+maduraciones[k]); for (int l=0;l<naranjas[i][j][k].length;l++){ System.out.println ("\t\t\t"+(i+1)+"."+(j+1)+"."+(k+1)+"."+(l+1)+".- Forma: "+formas[l]); for (int m=0;m<naranjas[i][j][k][l].length;m++){ if(naranjas[i][j][k][l][m]!=0) System.out.println ("\t\t\t\t"+(i+1)+"."+(j+1)+"."+(k+1)+"."+(l+1)+"."+(m+1)+".- Peso: "+pesos[m] +" =\t"+naranjas[i][j][k][l][m]+"kg"); } } } } } } }