Se ho capito bene supponendo che l'array delle dimensioni sia {600,600,500,210,100,90,80} tu vuoi uraggiungere una situazione del genere:
600
600
500
210 100 90 80
Se è così, io ho ragionato in questo modo. Innanzitutto utlizzo la classe Vector che ti consente di lavorare con "array" a dimensioni variabili. Ho un Vector (chiamato cd) che contiene come elementi a sua volta dei Vector. Questi vector interni contengono le dimensioni che vanno a comporre un singolo cd.
Forse un pò di codice è più chiaro...
Spero di aver capito cosa cercavi... per chiarimenti sono quicodice:import java.util.Vector; public class EsercizioDimensioni { static Vector cd = new Vector(); static int[] dimensioni = {600,600,500,210,100,90,80}; static final int DIM_MAX = 700; public static void main(String[] args){ for (int i=0;i<dimensioni.length;){ int dimensioneTotale = 0; Vector array_cd = new Vector(); while(dimensioneTotale+dimensioni[i]<=DIM_MAX){ array_cd.add(dimensioni[i]); dimensioneTotale+=dimensioni[i]; i++; if(i==dimensioni.length){ break; } } cd.add(array_cd); } for(int i=0;i<cd.size();i++){ Vector cdTemp = (Vector)cd.get(i); for(int j=0;j<cdTemp.size();j++){ System.out.print(cdTemp.get(j)+" "); } System.out.println(); } } }![]()


Rispondi quotando