Ciao a tutti!! ho una stringa, recuperata da un DB fatta così:
codice:
1;2;;|;3;;|;;4;|;;;5|;;;6|;;5;
devo trasformarla in una matrice double[][] fatta così
codice:
1 2 0 0
0 3 0 0
0 0 4 0
0 0 0 5
0 0 0 6
0 0 5 0
ho creato una funzione così fatta
codice:
public static double[][] conversione2D(String a,String carattere,String car){
        String array[] = a.split(car);
        int misura = array.length;
        System.out.println("La Z:" + misura);
        System.out.println("Il carattere:" + carattere);
        int misura2 =array[0].split(carattere).length;
        System.out.println("La X:" + misura2);
        double out[][]  = new double[misura][misura2];
        for(int i=0;i<misura;i++){
            String x[] = array[i].split(carattere);
            System.out.println("La lunghezza:" + x.length);
            for(int j=0;j<x.length;j++){
                if(!x[j].isEmpty()){
                    out[i][j] = Double.parseDouble(x[j]);
                } else out[i][j]=0;
            }
            }
Ma non funziona, mi ritorna una ArrayIndexOutOfBoundsException,
codice:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
	at wave.simulator.tabelle.DB.conversione2D(DB.java:191)
	at wave.simulator.Inter_importazione.importa(Inter_importazione.java:182)
	at wave.simulator.Inter_importazione.save(Inter_importazione.java:104)
	at wave.simulator.Inter_importazione.access$000(Inter_importazione.java:22)
	at wave.simulator.Inter_importazione$1.actionPerformed(Inter_importazione.java:72)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6504)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6269)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4860)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2713)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Per favore aiutatemi!!