Inicio > Java > Certamen I [ Introduccion a la Programacion ]

Certamen I [ Introduccion a la Programacion ]

Este Fue el Primer Certamen de Programacion jaja, aqui lo dejo :

ENUNCIADO:

Parte teórica (50 pts)
1.- Explique la función fundamental del llamado Java Developer Kit.
2.- Nombre 5 tipos de datos conocidos como datos primitivos y 5 tipos de representación objetal.
3. ¿ cuál es la primera instancia a la que un desarrollados Java debe acudir para conocer la especificación de las distintas clases ?

Parte Práctica (50 pts)
Construir un programa Java que permita manipular los datos personales de una persona en base a la siguiente especificación:

El programa deberá contener una estructura de menú con las siguientes opciones ( ingresadas por teclado ):

  • 1) Asignar Rut.
  • 2) Asignar nombres y apellidos
  • 3) Asignar edad.
  • 4) Inscribir / Eliminar del registro Electoral
  • 5) Salir (considerar una llamada al método System.exit(0); para salir de la aplicación.


-Al Momento de crear la instancia de la clase Persona, se debe asignar un número al azar al atributo numeroGenerado (ver constructor). Para ello utilizar clase Random.
-El nombre del proyecto debe ser PrimerCertamen, lo que creará una clase del mismo nombre.El meétodo ejecutar debe contener toda la lógica del programa.

SOLUCION:

Clase PrimerCertamen:

public class PrimerCertamen {

public static void main(String[] args) {
Aplicacion a = new Aplicacion();
a.ejecutar();
}
}

Clase Aplicacion

import java.math.*;
public class Aplicacion {
Persona p = new Persona((int)(Math.random()));
public void ejecutar() {
p.menu();
}
}

Clase Persona

import java.util.Scanner;
public class Persona {
	/*Atributos */
	public String rut,apellidoPaterno,apellidoMaterno,nombres;
	public int edad;
	private int numeroGenerado;
	public boolean inscritoRegistrosElectorales;
	Scanner a = new Scanner(System.in);

	public void menu() {
			System.out.println("################################");
			System.out.println("## Menu:\n## 1) Asignar Rut\n## 2) Asignar Nombres y Apellidos");
			System.out.println("## 3) Asignar Edad \n## 4) Inscribir / Eliminar del Registro electoral\n## 5) Salir");
			System.out.println("## \n## Ingresa el Numero de La Opcion que Quieres \n##");
			System.out.println("################################");
				try {
				programa(Integer.valueOf(a.nextLine()));
				} catch (NumberFormatException ex) {
					System.out.println("ERROR: No Pusiste Un Numero");
				menu();
				}
		}
	public Persona(int numeroGenerado) { }
	public void setRut(String rut)
	{
		this.rut = rut;
	}
	public void setNombres(String nombres)
	{
	this.nombres = nombres;
	}
	public void setApellidoPaterno(String apellidoP)
	{
	this.apellidoPaterno = apellidoP;
	}
	public void setApellidoMaterno(String apellidoM)
	{
	this.apellidoMaterno = apellidoM;
	}
	public void setEdad(int edad)
	{
	this.edad = edad;
	}
	/* Retorna Datos */
	public String getNombres() { return this.nombres; }
	public String getApellidoPaterno() { return this.apellidoPaterno; }
	public String getApellidoMaterno() { return this.apellidoMaterno; }
	public String getRut() { return this.rut; }
	public int getEdad() { return this.edad; }

public void programa(int numero) {

	switch(numero) {
		case 1:
		System.out.println("Ingresa Rut");
		setRut(a.nextLine());
		menu();
		break;
		case 2:
		System.out.println("Ingresa tus Nombres");
		setNombres(a.nextLine());
		System.out.println("Ingresa Apellido Paterno");
		setApellidoPaterno(a.nextLine());
		System.out.println("Ingresa Apellido Materno");
		setApellidoMaterno(a.nextLine());
		menu();
		break;
		case 3:
		System.out.println("Ingresa Edad");
		setEdad(Integer.parseInt(a.nextLine()));
		menu();
		break;
		case 4:
		System.out.println("[Inscribir] / [Eliminar] del Registro Electoral");
		System.out.println("Escribe El Numero: \n 1) Para Inscribir  \n 2) Para Eliminar");
		int eleccion = Integer.valueOf(a.nextLine());
		registroElectoral(eleccion);
		break;
		case 5:
		System.exit(0);
		break;
		}
	}
	public void registroElectoral(int cosa) {
		if (cosa == 1) {
			if (!inscritoRegistrosElectorales) {
			if (estanDatos()) {
			if (this.edad >= 18) {
				System.out.println("Registrando a: "+getNombres()+" "+getApellidoPaterno()+" "+getApellidoMaterno()+",rut:"+getRut()+" En Registros Electorales");
				this.inscritoRegistrosElectorales = true;
				menu();
				}
			else { System.out.println("No Tienes La Edad Suficiente Para Registrate"); }
		} else {
		System.out.println("Tienes Que Poner Tus Nombres, Apellidos, Rut y edad Primero");
		menu();
		}
			} else {
				System.out.println("Ya Estas Inscrito En Los Registros");
				menu();
				}
		}
		else if (cosa == 2) {
			if (!inscritoRegistrosElectorales) {
				System.out.println("Tu No Estás Inscrito En Los Registros Electorales");
					menu();
			} else {
				System.out.println("Eliminando a: "+getNombres()+" "+getApellidoPaterno()+" "+getApellidoMaterno()+",rut:"+getRut()+" De Los Registros Electorales");
				this.inscritoRegistrosElectorales = false;
				menu();
			}
		}
		else {
			System.out.println("Tienes Que elegir una opcion");
			programa(4);
			}
	}
		public boolean estanDatos() {
		try {
			if (this.rut.length() > 1 && this.apellidoPaterno.length() > 1 && this.apellidoMaterno.length() > 1 && this.nombres.length() > 1 && this.edad >1) {
			return true;
			} else {
				return false;
				}
		}
		catch(NullPointerException ex ) {
			return false;
			}
		}
}

Chau

Categorías:Java Etiquetas: , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: