/**
*
* @author Juanfrancisco
*/
public class SumaFilas {
private int [][] matriz;
private int total;
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
private int fila;
public SumaFilas() {
//constructor que rellena la matriz con numeros aleatroiros de 0 a 10
matriz=new int[3][3];
Random rd =new Random();
for(int i=0;i<matriz.length;i++){
for(int j=0;j<matriz[i].length;j++){
matriz[i][j]=rd.nextInt(10);
}
}
}
//metodo para que instancia cada hilo y sume
public void sumar(){
for(int i=0;i<matriz.length;i++){
this.fila=i;//para saber por la fila que va
Thread t=new Thread(new Suma());//instanciar la clase que hereda de thread
t.start();
//es importante dormir el hilo ..el argumento son los segundos ...
try {
Thread.sleep(400);
} catch (InterruptedException ex) {
Logger.getLogger(SumaFilas.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//Simplemente que muestre la matriz por consola
public void mostrar(){
for(int i=0;i<matriz.length;i++){
for(int j=0;j<matriz[i].length;j++){
System.out.print(matriz[i][j]+" ");
}
System.out.println("");
}
}
class Suma extends Thread{
/**
*
*/
@Override
public void run(){
System.out.println("Hilo en ejecucion "+getName());
System.out.println("FILA "+fila);
for(int j=0;j<matriz[fila].length;j++){
System.out.print(" Valor a sumar "+matriz[fila][j]);
total+=matriz[fila][j];
}
System.out.println(" Total "+total);
System.out.println(" ");
}
}
}