SergiKyo96
De profesión Chapuzas
- Registrado
- 25 Jun 2014
- Mensajes
- 295
- Puntos
- 18
A ver, el caso es que estoy realizando una tarea, y tengo un error un poco extraño, a ver si alguna alma caritativa pudiera decirme porque me salta el Unreachable Statement, en el return del método validarMarca, que consiste en comprobar si dadas las marcas de coches si la que le paso coincide,tiene que ser alguna tontería, pero no consigo encontrarlo.
import java.io.*;
public class Coche implements Serializable{
/** declaracion de los atributos estaticos */
private static final String[] MARCAS = {
"BMW", "CITROEN", "DACIA", "FIAT", "FORD", "PEUGEOT",
"RENAULT", "SEAT", "VOLKSWAGEN", "VOLVO"};
private static final char[] VOCALES = {'A', 'E', 'I', 'O', 'U'};
private static final int CILINDRADA_MIN = 900;
private static final int CILINDRADA_MAX = 3000;
private static final int PUERTAS_MIN = 2;
private static final int PUERTAS_MAX = 5;
private static final long serialVersionUID = -7143657398023718689L;
/** declaracion de los atributos de instancia */
private String marca;
private String matricula;
private int cilindrada; // cilindrada en cc
private int puertas; // numero de puertas
private boolean aa; // aire acondicionado
private boolean abs; // frenos abs
/** constructor */
public Coche(String marca, String matricula,
int cilindrada, int puertas,
boolean aa, boolean abs) {
this.marca = marca.toUpperCase();
this.matricula = matricula.toUpperCase();
this.cilindrada = cilindrada;
this.puertas = puertas;
this.aa = aa;
this.abs = abs;
}
/** metodo toString */
public String toString() {
return "-----------------------\n"
+ "marca: " + marca + "\n"
+ "matricula: " + matricula + "\n"
+ "cilindrada: " + cilindrada + "\n"
+ "puertas: " + puertas
+ ((aa) ? "\naire acondicionado" : "")
+ ((abs) ? "\nfrenos abs" : "");
}
/** metodo validar
* @throws CocheException
* @throws RangoException */
public boolean validar() throws CocheException, RangoException {
/** la siguiente instruccion return
* se ha escrito exclusivamente para que la clase compile
*/
return true;
/** la siguiente instruccion return
* es la implementacion correcta de este metodo
*
* por tanto, hay que implementar los metodos
* validarMarca, validarMatricula,
* validarCilindrada, validarPuertas
*/
return validarMarca()
&& validarMatricula()
&& validarCilindrada(CILINDRADA_MIN, CILINDRADA_MAX)
&& validarPuertas(PUERTAS_MIN, PUERTAS_MAX);
}
/** metodo validarMarca */
private boolean validarMarca() throws MarcaDesconocida {
for (int i = 0; i<MARCAS.length ; i++){
if (MARCAS.equals(marca) == true) return true;
else throw new MarcaDesconocida ("Error");
}
return false;
}
/** metodo validarMatricula */
private boolean validarMatricula(){
return true;
}
/** metodo validarCilindrada */
private boolean validarCilindrada(int CILINDRADA_MIN, int CILINDRADA_MAX) throws RangoException{
if (cilindrada>= CILINDRADA_MIN && cilindrada<= CILINDRADA_MAX) return true;
else throw new RangoException("Error, potencia no valida");
}
/** metodo validarPuertas */
private boolean validarPuertas(int PUERTAS_MIN, int PUERTAS_MAX) throws RangoException{
if (puertas>= PUERTAS_MIN && puertas<= PUERTAS_MAX) return true;
else throw new RangoException("Error, numero de puertas inadecuado");
}
}
El metodo validarMatricula, aun no lo he hecho pero de todas formas, no debería saltarme nada
import java.io.*;
public class Coche implements Serializable{
/** declaracion de los atributos estaticos */
private static final String[] MARCAS = {
"BMW", "CITROEN", "DACIA", "FIAT", "FORD", "PEUGEOT",
"RENAULT", "SEAT", "VOLKSWAGEN", "VOLVO"};
private static final char[] VOCALES = {'A', 'E', 'I', 'O', 'U'};
private static final int CILINDRADA_MIN = 900;
private static final int CILINDRADA_MAX = 3000;
private static final int PUERTAS_MIN = 2;
private static final int PUERTAS_MAX = 5;
private static final long serialVersionUID = -7143657398023718689L;
/** declaracion de los atributos de instancia */
private String marca;
private String matricula;
private int cilindrada; // cilindrada en cc
private int puertas; // numero de puertas
private boolean aa; // aire acondicionado
private boolean abs; // frenos abs
/** constructor */
public Coche(String marca, String matricula,
int cilindrada, int puertas,
boolean aa, boolean abs) {
this.marca = marca.toUpperCase();
this.matricula = matricula.toUpperCase();
this.cilindrada = cilindrada;
this.puertas = puertas;
this.aa = aa;
this.abs = abs;
}
/** metodo toString */
public String toString() {
return "-----------------------\n"
+ "marca: " + marca + "\n"
+ "matricula: " + matricula + "\n"
+ "cilindrada: " + cilindrada + "\n"
+ "puertas: " + puertas
+ ((aa) ? "\naire acondicionado" : "")
+ ((abs) ? "\nfrenos abs" : "");
}
/** metodo validar
* @throws CocheException
* @throws RangoException */
public boolean validar() throws CocheException, RangoException {
/** la siguiente instruccion return
* se ha escrito exclusivamente para que la clase compile
*/
return true;
/** la siguiente instruccion return
* es la implementacion correcta de este metodo
*
* por tanto, hay que implementar los metodos
* validarMarca, validarMatricula,
* validarCilindrada, validarPuertas
*/
return validarMarca()
&& validarMatricula()
&& validarCilindrada(CILINDRADA_MIN, CILINDRADA_MAX)
&& validarPuertas(PUERTAS_MIN, PUERTAS_MAX);
}
/** metodo validarMarca */
private boolean validarMarca() throws MarcaDesconocida {
for (int i = 0; i<MARCAS.length ; i++){
if (MARCAS.equals(marca) == true) return true;
else throw new MarcaDesconocida ("Error");
}
return false;
}
/** metodo validarMatricula */
private boolean validarMatricula(){
return true;
}
/** metodo validarCilindrada */
private boolean validarCilindrada(int CILINDRADA_MIN, int CILINDRADA_MAX) throws RangoException{
if (cilindrada>= CILINDRADA_MIN && cilindrada<= CILINDRADA_MAX) return true;
else throw new RangoException("Error, potencia no valida");
}
/** metodo validarPuertas */
private boolean validarPuertas(int PUERTAS_MIN, int PUERTAS_MAX) throws RangoException{
if (puertas>= PUERTAS_MIN && puertas<= PUERTAS_MAX) return true;
else throw new RangoException("Error, numero de puertas inadecuado");
}
}
El metodo validarMatricula, aun no lo he hecho pero de todas formas, no debería saltarme nada