Mostrando entradas con la etiqueta progamacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta progamacion. Mostrar todas las entradas

lunes, 26 de diciembre de 2016

Funciones: Bisiesto

Escribe una función que debe devolver si el año que se pasa como parámetro es bisiesto o no. (true:bisiesto, false:no bisiesto)
Desde la función principal se pedirá al usuario que introduzca un número de año, se invocará a dicha función con ese número (siempre que esté comprendido entre 1900 y 2100) y después se indicará si dicho año es bisiesto o no en función del valor devuelto por la función.


Ejemplo:
Introduzca un año:
> 1900

El año 1900 NO es bisiesto


SOLUCIÓN EN JAVA:
package bisiestos;

import javax.swing.JOptionPane;

public class Bisiestos {
    
    static boolean bisiesto(int a){
        
        //Un año es bisiesto si es divisible por 4 y por 100 ó es divisible por 400
        return (a%4==0 && a%100!=0) || (a%400==0);        
    }
    
    public static void main(String[] args) {
        boolean resultado;
        int anyo;
        
        try {
            anyo=Integer.parseInt(JOptionPane.showInputDialog(null, "Introduzca un año"));        
            resultado=bisiesto(anyo);
            if (resultado==true){
                JOptionPane.showMessageDialog(null,"El año "+anyo+" SI es bisiesto");
            } else {
                JOptionPane.showMessageDialog(null,"El año "+anyo+" NO es Bisiesto");
            }
        } catch (NumberFormatException e){
            JOptionPane.showMessageDialog(null, "Año incorrecto");
        }            
    }
}

sábado, 24 de diciembre de 2016

Funciones: Nombre Día Semana

Escribe una función que utiliza la estructura Switch,dicha función debe devolver el nombre del día de la semana en función del valor de una variable dia que se le pasa como parámetro. (1:Lunes, 2:Martes ...)
Desde la función principal se pedira al usuario que introduzca un número, se invocará a dicha función con ese número (siempre que esté comprendido entre 1 y 7) y después se imprimirá el nombre devuelto por la función.


Ejemplo:
Introduzca un número de día:
> 5

El día de la semana correspondiente a 5 es: Viernes



SOLUCIÓN EN JAVA:
package diaSemana;

import javax.swing.JOptionPane;

public class DiaSemana {

    static String diaSemana(int dia){        
        String nombreDia;
        
        switch (dia){
            case 1: nombreDia="Lunes"; break;
            case 2: nombreDia="Martes"; break;
            case 3: nombreDia="Miércoles"; break;
            case 4: nombreDia="Jueves"; break;
            case 5: nombreDia="Viernes"; break;
            case 6: nombreDia="Sábado"; break;
            case 7: nombreDia="Domingo"; break;
            default: nombreDia="Error";
        }
        return nombreDia;    
    }
    
    public static void main(String[] args) {
        int dia;
        
        try {
            dia=Integer.parseInt(JOptionPane.showInputDialog("Introduzca un número de día:"));
            JOptionPane.showMessageDialog(null, "El día de la semana correspondiente a "+dia+" es: "+diaSemana(dia));
        } catch (NumberFormatException e){
            JOptionPane.showMessageDialog(null, "Formato Incorrecto");
        }        
        System.out.println(diaSemana(1));
    }
}

Entradas Parque Atracciones

En 'Terra Mítica' se desea saber cuántas personas han pasado en un día.
Deben de decir su edad conforme entren, si su edad es inferior a 4, la entrada es gratis, si la edad está comprendida entre 4 años y 12 años (incluídos), la entrada costará 20€, y si la edad supera a 12, la entrada costará 40€.
La taquilla se cerrará cuando la cajera introduzca una edad igual a -1.
Indicad, el número de niños con edades inferiores a 4 años, el número de niños con edad comprendida entre 4 y 12 años, y el número de adultos.
Muestra también el número total de personas que han entrado y la caja que se ha hecho al final de la jornada.


Ejemplo:
Introduzca edad:
> 20
Introduzca edad:
>34
Introduzca edad:
>17
Introduzca edad:
>2
Introduzca edad:
-1

Bebes:1, Niños:0, Adultos:3
Número de entradas vendidas:4
Caja:120 €


SOLUCIÓN EN JAVA:
package parqueAtracciones;

import javax.swing.JOptionPane;

public class ParqueAtracciones {

   public static void main(String[] args) {

        int bebes=0,ninos=0,adultos=0,edad=0;
        String cadena;
        
        do {
            cadena=JOptionPane.showInputDialog("Introduzca edad");
            try {
                //Dependiendo de la de la edad que se introduzca, se incrementará
                //el contador correspondiente (bebes, ninos y adultos)
                edad=Integer.parseInt(cadena);
                if (edad!=-1){
                    if (edad>=0 && edad<4){
                        bebes++;
                    } else if (edad>=4 && edad<=12){
                        ninos++;
                    } else if (edad>12 && edad<150){
                        adultos++;
                    } else {
                        JOptionPane.showMessageDialog(null, "Introduzca una edad correcta!!");
                    }
                }
            } catch (NumberFormatException e){
                JOptionPane.showMessageDialog(null, "Formato incorrecto!!");
            }
        } while(edad!=-1);
        System.out.println("Bebes:"+bebes+", Niños:"+ninos+", Adultos:"+adultos);
        System.out.println("Número de entradas vendidas:"+(bebes+ninos+adultos));
        System.out.println("Caja:"+(ninos*20+adultos*40)+" €");
    }
    
}