Está en la página 1de 6

Control semana 2

Java 2

Instituto IACC

21-01-2019
Desarrollo

Esta seria recursividad directa. Ya que hace un llamado a sí misma para seguir ejecutando el

programa

Ejer2:

public class ejer2 {

int N;

public void imprimir(int num){

System.out.print(num + " ");

if(num < N){

imprimir(num+1);}

Ejer 3

Main

public class main {


public static void main(String[] args) {

SumaFilas s=new SumaFilas();

s.mostrar();

s.sumar();

System.out.println(s.getTotal());

Sema filas

import java.util.logging.Level;

import java.util.logging.Logger;

import java.util.Random;

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(" ");