Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Lettura e memorizzazione matrice da file di testo

    Salve a tutti, devo leggere e memorizzare una matrice da un file di testo, la mia matrice è:
    codice:
    .5 .7 .1 0
    -.1 0 .7 1
    -1.2 -.8 1 0 
    0 -.2 -1 -.7
    il codice che ho buttato giù per lavorarci sopra è questo:
    codice:
    public static void main(String args[]) throws IOException{
    		FileReader file = new FileReader("matrice.txt");
    		BufferedReader br = new BufferedReader(file);
    		double arraydouble[] = new double[10];
    		ArrayList<double[]> mialista = new ArrayList<double[]>();
    		String[] linea = new String[10];
    		String s;
    		while((s=br.readLine())!=null){
    		linea=s.split(" ");	
    		for(int i = 0;i<linea.length;i++)
    			arraydouble[i]=Double.parseDouble(linea[i]);
    		mialista.add(arraydouble);
    		
    			
    		}
    		file.close();
    		br.close();
    		double matrice[][] = mialista.toArray(new double[4][4]);
    Ora se vado a stampare la matrice, vedo che mi memorizza solo la prima riga del file, dove è che sbaglio? sarà sicuramente un errore scemo mio, ma non riesco a venirne a capo, grazie a tutti per l'eventuale aiuto.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Lettura e memorizzazione matrice da file di testo

    Originariamente inviato da francydev
    Ora se vado a stampare la matrice, vedo che mi memorizza solo la prima riga del file, dove è che sbaglio?
    Perché (ri)usi sempre lo stesso identico array double[] (sovrascrivendo i dati precedenti) e nel ArrayList ci sono tutti riferimenti uguali allo stesso oggetto array!!
    No, per ogni linea dovresti istanziare un nuovo array double[].

    P.S. l'errore è "classico" ... non ti preoccupare, nulla di grave, basta che lo capisci.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie per la risposta, quindi devo istanziare un nuovo array double[] prima del for praticamente?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da francydev
    quindi devo istanziare un nuovo array double[] prima del for praticamente?
    Sì, e per la dimensione .... la split() ti dice quanti "token" hai.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Grazie mille, ora va bene, piano piano imparerò

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.