Advertisement
KaiserRego

Matriz Humedad

Nov 11th, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.06 KB | None | 0 0
  1. public class MapaDeHumedad {
  2.    
  3.     private int alto;
  4.     private int ancho;
  5.    
  6.     private double mapaDeHumedad [][];
  7.  
  8.     /* pre: alto y ancho son valores enteros mayores que 0 que indican las dimensiones del terreno, en metros cuadrados.
  9.      * post: se inicializa el mapaDeHumedad con los valores de alto y ancho ingresados y cada metro cuadrado tiene asignado
  10.      * 0% de humedad.
  11.      */
  12.     public MapaDeHumedad (int alto, int ancho){
  13.        
  14.         if (alto < 0 || ancho < 0){
  15.            
  16.             Error altoOAnchoIncorrectos = new Error ("Valores incorrectos para alto o ancho del terreno");
  17.             throw altoOAnchoIncorrectos;
  18.         }
  19.        
  20.         this.alto = alto;
  21.         this.ancho = ancho;
  22.        
  23.         mapaDeHumedad = new double [alto] [ancho];
  24.        
  25.         for (int i=0; i < mapaDeHumedad.length; i++){
  26.            
  27.             for (int j = 0; j < mapaDeHumedad[i].length; j++){
  28.                
  29.                 mapaDeHumedad[i][j] = 0;
  30.             }
  31.         }
  32.        
  33.        
  34.     }
  35.    
  36.     public void insertarHumedad (int m2Alto, int m2Ancho, double humedad ){
  37.        
  38.         mapaDeHumedad [m2Alto-1] [m2Ancho-1] = humedad;
  39.     }
  40.    
  41.     public double obtenerHumedad (int m2Alto, int m2Ancho){
  42.        
  43.         return (mapaDeHumedad [m2Alto-1] [m2Ancho -1]);
  44.     }
  45.    
  46.     public double obtenerHumedadPromedio (){
  47.        
  48.         double sumatoriaDeHumedades =0;
  49.        
  50.         for (int i=0; i< mapaDeHumedad.length; i++){
  51.            
  52.             for (int j=0; j< mapaDeHumedad[i].length; j++){
  53.                
  54.                 sumatoriaDeHumedades = sumatoriaDeHumedades + mapaDeHumedad[i][j];
  55.             }
  56.         }
  57.        
  58.         double promedioDeHumedades = sumatoriaDeHumedades / (alto*ancho);
  59.        
  60.         return promedioDeHumedades;
  61.     }
  62.    
  63.     public double obtenerHumedadMinima (){
  64.        
  65.         double minimo = mapaDeHumedad [0] [0];
  66.        
  67.         for (int i=0; i< mapaDeHumedad.length; i++){
  68.             for (int j=0; j< mapaDeHumedad[i].length; j++){
  69.                
  70.                 if (mapaDeHumedad [i] [j] < minimo){
  71.                    
  72.                     minimo = mapaDeHumedad[i][j];
  73.                 }
  74.             }
  75.         }
  76.        
  77.         return minimo;
  78.     }
  79.    
  80.     public double obtenerHumedadMaxima (){
  81.        
  82.         double maximo = mapaDeHumedad [0] [0];
  83.        
  84.         for (int i=0; i< mapaDeHumedad.length; i++){
  85.             for (int j=0; j< mapaDeHumedad[i].length; j++){
  86.                
  87.                 if (mapaDeHumedad [i] [j] > maximo){
  88.                    
  89.                     maximo = mapaDeHumedad[i][j];
  90.                 }
  91.             }
  92.         }
  93.        
  94.         return maximo;
  95.    
  96. }
  97. import org.junit.Before;
  98. import org.junit.Assert;
  99. import org.junit.Test;
  100.  
  101. public class PruebaMapaDeHumedad {
  102.    
  103.     MapaDeHumedad casa = new MapaDeHumedad (10, 20);
  104.    
  105.     @Before
  106.     public void crear(){
  107.        
  108.         casa.insertarHumedad(5, 1, 30);
  109.         casa.insertarHumedad(5, 2, 40);
  110.         casa.insertarHumedad(5, 3, 50);    
  111.     }
  112.    
  113.     @Test  
  114.     public void verificarHumedades (){
  115.        
  116.         Assert.assertEquals (30.0, casa.obtenerHumedad(5, 1), 0.1);
  117.         Assert.assertEquals (40.0, casa.obtenerHumedad(5, 2), 0.1);
  118.         Assert.assertEquals (50.0, casa.obtenerHumedad(5, 3), 0.1);
  119.     }
  120.    
  121.     @Test
  122.     public void pruebaHumedadPromedio(){
  123.        
  124.         Assert.assertEquals (0.6, casa.obtenerHumedadPromedio(), 0.1);
  125.     }
  126.    
  127.     @Test
  128.     public void pruebaHumedadMinima(){
  129.        
  130.         Assert.assertEquals(0, casa.obtenerHumedadMinima(), 0.1);
  131.     }
  132.    
  133.     @Test
  134.     public void pruebaHumedadMaxima(){
  135.        
  136.         Assert.assertEquals(50, casa.obtenerHumedadMaxima(), 0.1);
  137.     }
  138.    
  139.    
  140.        
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement