El siguiente ejercicio fue propuesto en la Materia Sistémico I del grado Técnico de Sistemas de la Universidad Politécnico Jaime Izasa Cadavid. El problema original dice:
Problema
La policía de “Pueblito Lindo” cuenta y registra el número de carros que son robados de lunes a viernes por cada semana del año (consecutivo 1,2, 3, …). Diseñar un programa en Java que lea n el número de semanas y genere aleatoriamente el número de carros que fueron robados por cada semana y día de la semana. Este número es un número aleatorio entre 0 y 9, ambos números inclusive.
El programa también debe mostrar el total de carros robados por cada día de la semana para las n semanas. También debe mostrar el mayor número de robos en la matriz sin contar los totales.
Solución
Clase Carros
package robo_carro;
public class Carros {
int[][] semana_carros = new int[1][5];
public Carros() {
for(int i = 0; i < 5; i++){
semana_carros[0][i] = 0 + (int)(Math.random()*((9-0)+1));
}
}
public void print(int n){
System.out.printf("%-9s %-9s %-9s %-9s %-9s %-9s %n",n+1, semana_carros[0][0],semana_carros[0][1],semana_carros[0][2],semana_carros[0][3],semana_carros[0][4]);
}
}
Robo Carro
package robo_carro;
import java.util.Scanner;
public class Robo_Carro {
public static void main(String[] args) {
// TODO code application logic here
// Variables
int semanas;
Scanner leer = new Scanner(System.in);
int matrix_carros[][];
int suma_lunes = 0, suma_martes = 0,suma_miercoles = 0,suma_jueves = 0,suma_viernes = 0;
int todos_los_valores;
// Mensaje
System.out.print("Entre el numero de Semanas: ");
semanas = leer.nextInt();
matrix_carros = new int[semanas][5];
int max = 0;
System.out.printf("%-9s %-9s %-9s %-9s %-9s %-9s %n","Semana","Lunes","Martes","Miercoles","Jueves","Viernes");
for(int i = 0; i < semanas; i++){
Carros tmp = new Carros();
tmp.print(i);
suma_lunes += tmp.semana_carros[0][0];
suma_martes += tmp.semana_carros[0][1];
suma_miercoles += tmp.semana_carros[0][2];
suma_jueves += tmp.semana_carros[0][3];
suma_viernes += tmp.semana_carros[0][4];
for(int j = 0; j < 5; j++){
if(tmp.semana_carros[0][j] >= max){
max = tmp.semana_carros[0][j];
}
}
}
System.out.printf("%-9s %-9s %-9s %-9s %-9s %-9s %n","Total",suma_lunes,suma_martes,suma_miercoles,suma_jueves,suma_viernes);
System.out.println("El número de carros que más robaron en una semana y el dia es: " + max);
}
}
No comments:
Post a Comment