Hola.
En el siguiente código necesito introducir dos identificadores de coches por scanner y que me muestre cual es el coche que ha recorrido más kilometros.
No sé como plantearlo os agradecería vuestra ayuda.
import java.util.Scanner;
public class Coches {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
Coches coche = new Coches();
// Se almacenan un numero máximo de coches (4).
Coches array [] = new Coches [4];
int contador = 0;
if (contador < array.length) {
System.out.println("Introduce el identificador del coche : ");
int identificador;
int kilometros;
System.out.print("Identificador :");
identificador = teclado.nextInt();
System.out.print("Kilometros :");
kilometros = teclado.nextInt();
coche = new Coches(identificador,kilometros);
array [contador] = coche;
contador++;
System.out.print("Coche dado de alta");
System.out.println();
}else{
System.out.print("Se ha alcanzado el maximo de coches");
}
// Comparar coches: el usuario introducirá dos identificadores de coches y se mostrará el coche que haya recorrido más kilometros.
}
}
Gracias, Saludos.
Hola que tal ? prueba esto a ver, avisa si te funciona no te pierdas :xD o si quieres pierdete, hablas de introducir 2 identificadores? :-\
package testing.foro.identificadorCoches;
public class BeanCoches {
private Integer kilometros;
private String identificador;
public BeanCoches(String identificador, Integer kilometros) {
this.identificador = identificador;
this.kilometros = kilometros;
}
public void setKilometros(Integer kilometros) {
this.kilometros = kilometros;
}
public void setIdentificador(String identificador) {
this.identificador = identificador;
}
public String getIdentificador() {
return identificador;
}
public Integer getKilometros() {
return kilometros;
}
@Override
public String toString() {
return "\nIdentificador: "
.concat(identificador)
.concat("\nKilometros: ")
.concat(kilometros.toString());
}
}
package testing.foro.identificadorCoches;
import javax.swing.*;
import java.util.Scanner;
/*
En el siguiente codigo necesito introducir dos identificadores de coches por scanner y
que me muestre cual es el coche que ha recorrido mas kilómetros.
*/
public class Coches {
private static final Scanner TECLADO = new Scanner(System.in);
private JTextArea area = new JTextArea();
public Coches() {
init();
}
private void init() {
// Se almacenan un numero maximo de coches (4).
BeanCoches arrayCoches[] = new BeanCoches[4];
int contador = 0;
for (int f = 0; f < arrayCoches.length; f++) {
println("Introduce el identificador del coche: ");
final String identificador;
final int kilometros;
print("Identificador: ");
identificador = TECLADO.next();
print("Kilometros: ");
kilometros = TECLADO.nextInt();
//seteamos al contructor el identificador y kilometros 2 parametros
//tambien se pueden sus setters
final BeanCoches coche = new BeanCoches(identificador, kilometros);
arrayCoches[f] = coche;
//System.out.print("Coche dado de alta ");
//System.out.println();
//Comparar coches: el usuario introducir dos identificadores de coches y se mostrar el coche que haya recorrido mas kilometros.
}
println("Coches Procesados MAYOR KILOMETRAJE ###########################################");
String cocheIdentificador = "";
Integer cocheMayor = 0;
for (int f=0; f<arrayCoches.length; f++) {
cocheMayor = mayorKilometraje(arrayCoches);
cocheIdentificador = getCocheIdentificador(arrayCoches);
}
final StringBuilder mensaje = new StringBuilder();
mensaje.append("Coche con Mayor Kilometraje");
mensaje.append("\n * Identificador: ").append(cocheIdentificador);
mensaje.append("\n * Kilometraje: ").append(cocheMayor);
print(mensaje.toString());
area.setText(mensaje.toString());
JOptionPane.showMessageDialog(null,area,"Coches Procesados",1);
}
//Buscar coche con mayor Kilometraje
public Integer mayorKilometraje(final BeanCoches arrayCoches[]) {
int index = arrayCoches[0].getKilometros();
for( int f=0; f < arrayCoches.length; f++ ) {
if( arrayCoches[f].getKilometros() > index ) { //obtenemos el kilometraje
index = arrayCoches[f].getKilometros();
}
}
return index;
}
//Buscar coche con mayor Kilometraje y cuando lo encuentre obtenemos el nombre
private String getCocheIdentificador(final BeanCoches beanCoches[]) {
int index = beanCoches[0].getKilometros();
String identificador = beanCoches[0].getIdentificador();
for(int f=0; f<beanCoches.length;f++) {
if(beanCoches[f].getKilometros() > index) {
identificador = beanCoches[f].getIdentificador();
}
}
return identificador;
}
private static <T> void print(final T s) {
System.out.print(s);
}
private static <T> void println(final T s) {
System.out.println(s);
}
public static void main(String[] args) throws ClassNotFoundException, UnsupportedLookAndFeelException, InstantiationException, IllegalAccessException {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
new Coches();
}
}