Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: maxplanck en 20 de Enero 2017, 19:50
-
Hola de nuevo, tras unos días ajetreados aquí estamos de nuevo dando la paliza ;D. En esta ocasión os dejo el código que he realizado para este ejercicio del curso de programación Java para que comentéis cualquier cosa que se os ocurra. Gracias mil como siempre a todos por vuestro tiempo.
He aprovechado para ir practicando lo del javadoc.
Clase Vehículos.
package Coches;
import java.util.*;
/**
* Esta clase define vehículos que pueden pertenecer a una de cinco marcas incluidas en un Tipo enumerado.
* @author maxplanck
*/
public class Vehiculo {
public enum Marca {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
private String matricula;
private Marca marca;
/**
* constructor sin parámetros que inicializa a cadena vacía y null.
* @version 1.0 :)
*/
public Vehiculo(){
matricula= "";
marca = null;
}
/**
* Método que devuelve la matrícula
* @return Un String
*/
public String getMat () {return matricula;}
/**
* Método que devuelve la narca del coche.
* @return Un tipo enumerado.
*/
public Marca getMar () {return marca;}
/**
* Método para establecer la matrícula.
*/
public void setMat (String mat){matricula = mat;}
/**
* Método para establecer la marca.
*/
public void setMar (Marca mar) {marca = mar;}
}
Y ahora la clase Test.
package Coches;
import java.util.*;
/**
* Clase para testear el Tipo enumerado de la clase Vehiculo del mismo package. Sin constructor.
* @author maxplanck
*/
public class TestVehiculo {
/**
* Método main que permite establecer y comprobar marca y matrícula del vehículo nuevo.
*/
public static void main (String [] Args) {
Vehiculo car = new Vehiculo();
String ent = "";
Scanner tec = new Scanner(System.in);
boolean q = true;
while (q == true) {
System.out.println ("Introduzca marca vehículo nuevo.");
ent = tec.nextLine();
if (ent.equalsIgnoreCase("FORD")) {
car.setMar(Vehiculo.Marca.FORD);
}
else if (ent.equalsIgnoreCase("TOYOTA")) {
car.setMar(Vehiculo.Marca.TOYOTA);
}
else if (ent.equalsIgnoreCase("SUZUKI")) {
car.setMar(Vehiculo.Marca.SUZUKI);
}
else if (ent.equalsIgnoreCase("RENAULT")) {
car.setMar(Vehiculo.Marca.RENAULT);
}
else if (ent.equalsIgnoreCase("SEAT")) {
car.setMar(Vehiculo.Marca.SEAT);
}
else{
System.out.println ("Marca desconocida.");
}
System.out.println ("Introduzca matrícula vehículo nuevo.");
ent = tec.nextLine();
car.setMat(ent);
System.out.println ("La marca es: " + car.getMar() + " y la matrícula es: " + car.getMat());
System.out.println ("¿Desea añadir otro vehículo?. S/N");
ent =tec.nextLine();
if (ent.equalsIgnoreCase("n")){// por sencillez no contemplo el caso de otro caracter distinto de S/N
q = false;
}
}
}
}
-
Hola maxplanck.
El ejercicio funciona correctamente y cumple con lo que pide el enunciado. Por comentarte algo, decirte que tanto los nombres de los métodos y las variables deberías intentar que fuesen mas decriptivos, porque tec, ent, q, setMar, getMat..., dicen poco.
Saludos. ;D
-
Gracias por tu consejo pedro,,, de hecho ya me ha pasado alguna vez el no saber cual era el método al que tenía que llamar sin leer el código, pero luego me da pereza poner nombres largos que tengo que repetir y .... :-[.