PDA

View Full Version : [java] matrici e dintorni


raniero
09-09-2005, 11:06
Ciao, sono un novello di Java e sto impazzendo!!
Devo fare un bel programmino e sono in balìa delle matrici.
Il mio programma genera 100 sequenze di 4 numeri random in tempi random.
Il mio problema è che mi scrive i risultati sulla stessa riga della matrice.Ovvero non riesco ad incrementare la variabile b (indice della riga della matrice). Come posso ovviare il problema?

Il programma è su due file
Ecco i listati

file 1: Crea.java

import java.util.Timer;
import java.util.TimerTask;

public class Crea {
public Timer timer;
public int x = 0;
public int v[]=new int[5];
public int z = 0;
public int b;

public void Reminder(int seconds) {

timer = new Timer();
x= (int)Math.round(10*Math.random());
timer.schedule(new RemindTask(), x*1000, seconds*1000);
}

class RemindTask extends TimerTask {

public void run() {

int co= 0;
int macchine[][] = new int[104][7];
int i=0;

while ( i < 4 ) {

v[i]= (int)Math.round(3*Math.random());
i++;

}
++co;

if (co==1) {

timer.cancel();

}

macchine[b][0]=b;
macchine[b][1]=x;
macchine[b][2]=v[0];
macchine[b][3]=v[1];
macchine[b][4]=v[2];
macchine[b][5]=v[3];

System.out.println (" macchina " +b + " secondi " +x+ " pos1 " +v[0]+
" pos2 " +v[1]+ " pos3 " +v[2]+ " pos4 " +v[3]);
}
}
}

-----------------------------------------------------------------------
file 2: Main.java


import java.util.Timer;
import java.util.TimerTask;


public class Main {

public static void main(String args[]) {

Crea t;
for (int i=0;i<100;i++) {

t = new Crea();
t.Reminder(1);
}
}
}

franksisca
09-09-2005, 18:05
prima cosa, usa i nomi delle variabili in italiano, è più comprensibile.
secondo non ho letto il codice.
terzo, ti posso fare un esempio di come si scandisce una matrice, magari domani,o ra non posso, gli dò un'occhiata al tuo codice.

int [][] matrice=new int[][];
for(int i=0;i<matrice.length;++i){
for(int j=0;j<matrice[0].length;j++){
matrice[i][j]=leggi();
}
}

naturalmente il metodo leggi legge da tastiera.
Spero di esserti stato di aiuto, cmq domani ripasso.

raniero
09-09-2005, 18:16
ti ringrazio molto per l'interessamento, aspettero' trepidante domani!
;)

raniero
13-09-2005, 18:27
Grazie lo stesso ho risolto oggi, bastava incrementare la variabile b (b++) all'interno della matrice.. prima pero' bisognava pure dichiarare la variabile b static ad inizio classe.

:D
:D
:D
:D