Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2016, 08:14
trevol
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 9 meses
Puntos: 11
salir cuando no haya casos de prueba

Hola amigos resulta que tengo éste código de un problema de la web aceptaelreto.com y no se como hacer porque cuando los valores leídos sean N, 0 me debe dejar el resultado y continuar el programa y es cuando no haya valores en las variables cuando tengo que salir del programa. Bien yo no se como hacer esto ultimo. Dejo el código fuente tal como lo tengo pero repito lo que me gustaría es salir del programa cuando no se introduzca nada en las variables.


Código Java:
Ver original
  1. import java.util.Scanner;
  2. public class BarJavierDenuevo {
  3.  
  4.  
  5.    public static void main(String[] args) {
  6.     Scanner in = new Scanner(System.in);
  7.      in.useLocale(java.util.Locale.UK);
  8.       String  letra = "e";
  9.      double [] caja = new double [5] ;
  10.      double  numero = 0;
  11.     double mayor = 0;
  12.     double menor = 0;
  13.     int  empateMayor = 0;
  14.     int empateMenor = 0;
  15.     double sumaCaja  = 0;
  16.     String resultadoMayor = "EMPATE";
  17.     String resultadoMenor = "EMPATE";
  18.     int indiceMayor = 0;
  19.     int indiceMenor = 0;
  20.     String mayorCopas = "";
  21.     double mediaCaja = 0;
  22.  
  23.    
  24.       //recogo los casos de prueba según condición e introduzco en array
  25.      while(!(letra.equals("N")) | (numero!=0)){
  26.    
  27.      letra = in.next();
  28.      numero = in.nextDouble();
  29.      
  30.      
  31.        
  32.     switch (letra) {
  33.       case "D":
  34.         caja[0]+= numero;
  35.         break;
  36.       case "A":
  37.        caja[1]+= numero;
  38.         break;
  39.        
  40.       case "M":
  41.       caja[2]+= numero;
  42.         break;
  43.        
  44.       case "I":
  45.       caja[3]+= numero;
  46.         break;
  47.        
  48.        
  49.       case "C":
  50.       caja[4]+= numero;  
  51.         break;
  52.        
  53.         }
  54.  
  55.       }
  56.    
  57.  
  58.    
  59.       //sumar array par ver dinero total y la media de la caja
  60.     for(int i = 0; i<5; i++){
  61.       sumaCaja += caja[i];
  62.       mediaCaja = sumaCaja/5;
  63.     }
  64.    
  65.     // comprobar mayor y menor y sacar sus indices
  66.       mayor = caja [0];
  67.       menor = caja [0];
  68.     for(int i = 1; i<5; i++){
  69.       if(caja[i]>mayor){
  70.         mayor = caja[i];
  71.         indiceMayor = i;
  72.       }
  73.      
  74.        else if (caja[i]<menor){
  75.        
  76.         menor=caja[i];
  77.         indiceMenor = i;
  78.        
  79.       }
  80.     }    
  81.    
  82.    
  83.      
  84.     // comprobar si hay empate
  85.    
  86.      for(int i = 0; i<5; i++){
  87.       if(caja[i]==mayor){
  88.         empateMayor += 1;
  89.       }
  90.     if (caja[i]==menor){
  91.      
  92.         empateMenor += 1;
  93.      
  94.       }
  95.      
  96.     }
  97.    
  98.    
  99.        
  100.    
  101.  
  102.  
  103.  
  104.  
  105.  
  106.      
  107.      
  108.      
  109.      
  110.      
  111.      
  112.      
  113.      
  114.   // si en mayor no hay empate sacar mayor con los indices sino porner empate
  115.     if(empateMayor<=1){
  116.        switch (indiceMayor) {
  117.         case 0:
  118.           resultadoMayor = "DESAYUNOS";
  119.           break;
  120.         case 1:
  121.           resultadoMayor = "COMIDAS";
  122.           break;
  123.          
  124.         case 2:
  125.          resultadoMayor = "MERIENDAS";
  126.           break;
  127.          
  128.         case 3:
  129.         resultadoMayor = "CENAS";
  130.           break;
  131.          
  132.          
  133.         case 4:
  134.         resultadoMayor = "COPAS";
  135.           break;
  136.          
  137.      
  138.  
  139.         }
  140.     }else{
  141.        
  142.         resultadoMayor = "EMPATE";
  143.        
  144.       }
  145.      
  146.      
  147.        // si en menor no hay empate sacar menor con los indices sino poner empate
  148.     if(empateMenor<=1){
  149.        switch (indiceMenor) {
  150.         case 0:
  151.           resultadoMenor = "DESAYUNOS";
  152.           break;
  153.         case 1:
  154.           resultadoMenor = "COMIDAS";
  155.           break;
  156.          
  157.         case 2:
  158.          resultadoMenor = "MERIENDAS";
  159.           break;
  160.          
  161.         case 3:
  162.         resultadoMenor = "CENAS";
  163.           break;
  164.          
  165.          
  166.         case 4:
  167.         resultadoMenor = "COPAS";
  168.           break;
  169.        
  170.  
  171.         }
  172.        
  173.         }else{
  174.        
  175.         resultadoMenor = "EMPATE";
  176.       }
  177.      
  178.      
  179.       //comprobar si las comidas supera a la media de  ventas del dia
  180.      
  181.      
  182.       if(caja[1]>mediaCaja){
  183.        
  184.       mayorCopas = "SI";
  185.       } else{
  186.           mayorCopas = "NO";
  187.        
  188.       }
  189.      
  190.       //Mostrar resultados
  191.      
  192.     System.out.println(resultadoMayor + "#" + resultadoMenor + "#" + mayorCopas);    
  193.   }
  194. }