Professional Documents
Culture Documents
1. Definir una clase que represente a un coche. En la definicin se debe incluir el modelo,
el color, si la pintura es metalizada o no, la matricula, el tipo de coche que puede ser:
mini utilizado, familiar o deportivo, ao de fabricacin, modalidad del seguro que
puede ser a terceros o a todo riesgo.
Se desea imprimir el modelo y el color de un coche dado. Para ello se puede escribir un
modelo que acepte un objeto de la clase coche. Si dicha referencia no es null el
mtodo deber imprimir el modelo y el color. Si no es null el mtodo no har nada.
Aadir a la clase coche un mtodo de nombre imprimircoche que imprima el modelo y
el color.
Escribir un programa que tenga una instancia de mi clase coche, que es un rollsroyse
de color dorado. El programa debe imprimir un mensaje que diga de que modelo y
color es mi coche.
SOLUCION:
-
Main:
Coche miCoche = new Coche();
miCoche.modelo="Rollsroyce";
miCoche.color="Dorado";
miCoche.imprimirCoche();
Clase Coche:
package proyecto.pkg1;
enum TipoCoche {MINIUTILIARIO, FAMILIAR, DEPORTIVO};
enum TipoSeguro {A_TERCEROS, A_TODO_RIESGO};
public class Coche {
String modelo;
String color;
String matricula;
boolean esMetalizado;
int aoFabricacion;
TipoCoche tipo;
TipoSeguro seguro;
public void imprimeCoche (Coche a){
if(a!=null){
System.out.println("El coche: " + a.modelo + "es de color: " + a.color);
} }
public void imprimirCoche(){
System.out.println("El coche es: " + modelo + " es de color: " + color);
}
2. Escriba un programa que disponga de una clase para representar las asignaturas de
una carrera. Una asignatura tiene un nombre, un cdigo numrico, y el curso en el cual
se imparte. Los valores iniciales han de proporcionarse en el constructor, la clase ah de
tener mtodos para obtener los valores de los atributos el programa a de construir un
objeto con los siguientes valores: nombre=matemtica, cdigo=1017 y curso=1. A
continuacin el programa a de imprimir los valores del objeto.
SOLUCION:
-
Main:
Asignatura objt = new Asignatura("Matematica", 1, 1017);
System.out.println("el nombre es: " + objt.imprimirnombre());
objt.imprimircurso();
objt.imprimircodigo();
Clase Asignatura:
public class Asignatura {
private String nombre;
private int curso;
private int codigo;
public Asignatura(String nombre, int curso, int codigo) {
this.nombre = nombre;
this.curso = curso;
this.codigo = codigo;
}
public String imprimirnombre(){
return nombre;
}
public int imprimircurso(){
System.out.println("EL curso es: " + curso);
return curso;
}
public int imprimircodigo(){
System.out.println("El codigo es: " + codigo);
return codigo;
}
3. Define una clase que represente un punto en un espacio bidimensional. La clase debe
disponer de un constructor con las coordenadas del punto y mtodos accesorios a las
coordenadas. escriba un programa que instancie 4 puntos, el primero situado en el
origen, el segundo situado (5,3), el tercero en (2,-1) y para el cuarto es punto medio
entre el segundo y el tercero.
SOLUCION:
-
Main:
Puntos objPunto = new Puntos(0, 0);
Puntos objPunto1 = new Puntos(5, 3);
Puntos objPunto2 = new Puntos(2, -1);
Puntos objPunto3 = new Puntos((objPunto1.getX()+objPunto2.getX())/2,
(objPunto1.getY()+objPunto2.getY())/2);
System.out.println("Punto 3 ; " + objPunto3.getX()+ objPunto3.getY());
Clase Punto:
public class Puntos {
private int x;
private int y;
public Puntos(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
4. Escriba una clase que represente un semforo que podr estar en rojo, mbar o verde.
La clase tendr un atributo llamado color inicialmente a rojo. Tambin dispondr de
un atributo que determine si el semforo est parpadeando. Inicialmente el semforo
no est parpadeando. Escriba un programa que instancie un semforo de la clase
semforo del ejemplo anterior, el programa cambiara por pantalla el color del
semforo. Luego pondr el semforo en mbar y volver a imprimir el color.
SOLUCION:
-
Main:
Semaforo miSemaforo = new Semaforo();
System.out.println("El color es: " + miSemaforo.color);
miSemaforo.color=colorSemaforo.AMBAR;
System.out.println("El nuevo color es: " + miSemaforo.color);
Clase Semforo:
package proyecto.pkg1;
enum colorSemaforo {ROJO, AMBAR, VERDE};
public class Semaforo {
colorSemaforo color = colorSemaforo.ROJO;
boolean estaParpadeando=false; }
5. Ejercicio alumno:
SOLUCION:
-
Main:
Alumno objt1 = new Alumno("Carlos");
Alumno objt2 = new Alumno("Pedro");
Alumno objt3 = new Alumno("Eva");
System.out.println("Hay : " + Alumno.numAlumno);
Clase Alumno:
private String nombre;
static int numAlumno;
public Alumno(String nombre) {
this.nombre = nombre;
numAlumno++;
}
Main:
AparatoElectrico bombilla = new AparatoElectrico(100);
AparatoElectrico radiador = new AparatoElectrico(2000);
AparatoElectrico plancha = new AparatoElectrico(1200);
System.out.println("El consumo: " + AparatoElectrico.consumoTotal);
bombilla.encender();
plancha.encender();
System.out.println("El consumo: " + AparatoElectrico.consumoTotal);
plancha.apagado();
radiador.encender();
System.out.println("El consumo: " + AparatoElectrico.consumoTotal);
Clase Aparatoelectrico:
private double potencia;
private boolean encendido;
static double consumoTotal;
public AparatoElectrico(double potencia) {
this.potencia = potencia;
this.encendido = false;
}
public void encender(){
if(!encendido){
encendido=true;
consumoTotal+=potencia;
} }
public void apagado(){
if(encendido){
encendido=false;
consumoTotal-=potencia;
} }
private static double nomtoConsumo(){
return consumoTotal; }
Main:
Alumno obj1 = new Alumno("1250", "Juan Perez" , "M" , "Ing. Civil" );
Alumno obj2 = new Alumno("1251", "Jose Ruiz" , "M" , "Ing. de Sistemas" );
Alumno obj3 = new Alumno("1252", "Eva Fernandez" , "F" , "Derecho" );
Matricula objMatricula = new Matricula();
objMatricula.insertar(obj1);
objMatricula.insertar(obj2);
objMatricula.insertar(obj3);
objMatricula.visualizar();
System.out.println("+++++++++++++++++++++++++++++");
objMatricula.eliminar(obj2);
objMatricula.visualizar();
Clase Alumno:
private String codigo;
private String apenombre;
private String sexo;
private String carrera;
public Alumno(String codigo, String apenombre, String sexo, String carrera) {
this.codigo = codigo;
this.apenombre = apenombre;
this.sexo = sexo;
this.carrera = carrera;
}
public String getCodigo() {
return codigo; }
Clase Matricula:
Alumno objAlumno[] = new Alumno[100];
private int tope;
public void insertar(Alumno objA){
objAlumno[tope++]=objA; }
public void eliminar(Alumno objA){
int i=this.buscar(objA);
if(i>=0){
tope--;
for (int j = i; j < tope; j++) {
objAlumno[j]=objAlumno[j+1];
} } }
public int buscar(Alumno objA){
for (int i = 0; i < tope; i++) {
if(objAlumno[i].getCodigo()==objA.getCodigo()){
return i; } }
return -1; }
public void visualizar(){
for (int i = 0; i < tope; i++) {
System.out.println("Codigo: " + objAlumno[i].getCodigo());
System.out.println("Nombre: " + objAlumno[i].getApenombre());
System.out.println("Sexo: " + objAlumno[i].getSexo());
System.out.println("Carrera: " + objAlumno[i].getCarrera());
}
}
Media:
Asignatura Programacion = new Asignatura(1);
Asignatura Estadistica = new Asignatura(2);
Asignatura Matematica = new Asignatura(3);
Alumno objAlumno = new Alumno(Programacion, Estadistica, Matematica);
Profesor objProfesor = new Profesor();
objProfesor.ponerNotas(objAlumno);
System.out.println("La media es: " +
objProfesor.calcularMedia(objAlumno));
Asignatura:
private int identificador;
private double calificacion;
public Asignatura(int identificador) {
this.identificador = identificador;
}
public int getIdentificador() {
return identificador;
}
public double getCalificacion() {
return calificacion;
}
public void setCalificacion(double calificacion) {
this.calificacion = calificacion;
}
Alumno:
private Asignatura asign1;
private Asignatura asign2;
private Asignatura asign3;
public Alumno(Asignatura asign1, Asignatura asign2, Asignatura asign3) {
this.asign1 = asign1;
this.asign2 = asign2;
this.asign3 = asign3;
}
public Alumno(int asign1, int asign2, int asign3) {
this.asign1 = new Asignatura(asign1);
this.asign2 = new Asignatura(asign2);
this.asign3 = new Asignatura(asign3);
}
public Asignatura getAsign1() {
return asign1;
}
public Asignatura getAsign2() {
return asign2;
}
public Asignatura getAsign3() {
return asign3;
}
Profesor:
public void ponerNotas(Alumno objA){
objA.getAsign1().setCalificacion(Math.random()*10);
objA.getAsign2().setCalificacion(Math.random()*10);
objA.getAsign3().setCalificacion(Math.random()*10);
}
public double calcularMedia(Alumno objA){
double nota1 = objA.getAsign1().getCalificacion();
double nota2 = objA.getAsign2().getCalificacion();
double nota3 = objA.getAsign3().getCalificacion();
return (nota1+nota2+nota3)/3;
}
HERENCIA
1. Ejercicio
SOLUCION:
-
Main:
Alumno objAlumno = new Alumno("Ing. de Sistemas", "Kattya", "Grados");
System.out.println("Datos del alumno: " + objAlumno.toString());
Docente objDocente = new Docente("Algoritmo", "Nixon", "ALva");
System.out.println("Datos del docente: " + objDocente.toString());
Clase Persona:
protected String nombres;
protected String apellidos;
public Persona(String nombres, String apellidos) {
this.nombres = nombres;
this.apellidos = apellidos; }
public String toString(){
return nombres + "," + apellidos; }
public String getNombres() {
return nombres; }
public void setNombres(String nombres) {
this.nombres = nombres; }
public String getApellidos() {
return apellidos; }
public void setApellidos(String apellidos) {
this.apellidos = apellidos; }
Clase Alumno:
public class Alumno extends Persona{
private String carrera;
public Alumno(String carrera, String nombres, String apellidos) {
super(nombres, apellidos);
this.carrera = carrera; }
public String toString(){
return super.toString() + "," + carrera;
Clase Docente:
public class Docente extends Persona{
private String especialidad;
public Docente(String especialidad, String nombres, String apellidos) {
super(nombres, apellidos);
this.especialidad = especialidad;
}
public String toString(){
return super.toString() + "," + especialidad;
}
9. Realice una clase, de nombre examen, para guardar informacin sobre los exmenes
de un centro educativo. La informacin que se guarda de un examen es: nombre de la
asignatura, el aula, la fecha y la hora. Para guardar la fecha y la hora hay que realizar
dos clases: Fecha y Hora.
La clase fecha guarda da, mes y ao, todos los valores se reciben en el constructor por
parmetro. Adems, esta clase debe tener un mtodo que devuelva cada una de los
atributos y un mtodo toString que devuelva la informacin de la fecha en forma
string.
La clase hora que da la hora y minuto, tambin recibe los valores para los atributos por
parmetro en el constructor, tiene mtodos que devuelven cada uno de los atributos y
un mtodo toString.
Escriba una aplicacin que crea un objeto de tipo examen, lo muestre por pantalla,
modifique su fecha y hora, y lo vuelva a mostrar por pantalla.
Solucin
-
Main:
Clase Examen:
Clase Fecha:
10. Escriba una clase multimedia para almacenar objetos de tipo multimedia (pelcula,
discos, mp3). Esta clase contiene ttulos, autor, formato y duracin como atributos. El
formato puede ser uno de los siguientes:
- WAV, MP3, MIDI, AVI, MPG, DVD, EA
De todos los atributos se pasa por parmetro en el momento de crear el objeto. Esta
clase tiene adems un mtodo para devolver cada uno de los atributos y un mtodo
toString que devuelva la informacin del objeto. Por ultimo un mtodo EQUALS que
recibe un objeto de tipo multimedia y devuelve TRUE en caso en caso que el ttulo y el
autor sean iguales a los del objeto que llama al mtodo y FALSE en caso contrario.
Solucin:
-
Main:
Clase Multimedia:
enum tipoFormato{WAV,MP3,MIDI,DVD,AVI,EVA};
public class Multimedia {
private String titulo;
private String autor;
private int duracion;
private tipoFormato formato;
public Multimedia(String titulo, String autor, int duracion, tipoFormato formato) {
this.titulo = titulo;
this.autor = autor;
this.duracion = duracion;
this.formato = formato; }
public String getTitulo() {
return titulo; }
public String getAutor() {
return autor; }
public int getDuracion() {
return duracion; }
12. Escriba una clase lista multimedia para almacenar objetos de tipo multimedia. La clase
debe tener un atributo que sea un alrrays de objeto multimedias y un entero para
contar cuantos objetos hay almacenados. Adems tiene un constructor y los siguientes
mtodos:
El constructor recibe por parmetro un entero, indicando el nuevo nmero de objetos
que va almacenar.
- Int size (): Devuelve nmero de objetos que hay en la lista.
- Boolean add (Multimedia m): Aade un objeto al final de la lista y devuelve TRUE,
en caso de que la lista est llena devuelve FALSE.
- Multimedia (int posicin): Devuelve el objeto situado en la posicin especificada.
Clase ListaMultimedia
private Multimedia[]lista;
private int contador;
public ListaMultimedia(int nuevoTamao){
lista=new Multimedia[nuevoTamao];
contador=0;
}
public int size(){
return contador;
}
public boolean llena(){
if(contador==lista.length){
return true;
}
else{
return false;
}}
public boolean add(Multimedia m){
if(llena()){
return false;
}
else{
lista[contador++]=m;
return true;
}
}