elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Página de elhacker.net en Google+ Google+


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Duda de array en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda de array en Java  (Leído 320 veces)
splendid37

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Duda de array en Java
« en: 12 Enero 2018, 20:39 »

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.

Código
  1.  
  2. import java.util.Scanner;
  3.  
  4. public class Coches {
  5.  
  6.    public static void main(String[] args) {
  7.  
  8.        Scanner teclado = new Scanner(System.in);
  9.  
  10.        Coches coche = new Coches();
  11.  
  12.        // Se almacenan un numero máximo de coches (4).
  13.  
  14.        Coches array [] = new Coches [4];
  15.  
  16.        int contador = 0;
  17.  
  18.        if (contador < array.length) {
  19.  
  20.            System.out.println("Introduce el identificador del coche : ");
  21.  
  22.            int identificador;
  23.            int kilometros;
  24.  
  25.            System.out.print("Identificador :");
  26.            identificador = teclado.nextInt();
  27.  
  28.            System.out.print("Kilometros :");
  29.            kilometros = teclado.nextInt();
  30.  
  31.            coche = new Coches(identificador,kilometros);
  32.  
  33.            array [contador] = coche;
  34.            contador++;
  35.  
  36.            System.out.print("Coche dado de alta");
  37.            System.out.println();
  38.  
  39.        }else{
  40.  
  41.            System.out.print("Se ha alcanzado el maximo de coches");
  42.        }
  43.  
  44.        // Comparar coches: el usuario introducirá dos identificadores de coches y se mostrará el coche que haya recorrido más kilometros.
  45.  
  46.    }
  47. }
  48.  
  49.  

Gracias, Saludos.


En línea

rub'n


Desconectado Desconectado

Mensajes: 531



Ver Perfil WWW
Re: Duda de array en Java
« Respuesta #1 en: 14 Enero 2018, 18:40 »

Hola que tal ? prueba esto a ver, avisa si te funciona no te pierdas  :xD o si quieres pierdete, hablas de introducir 2 identificadores?  :-\

Código
  1. package testing.foro.identificadorCoches;
  2.  
  3. public class BeanCoches {
  4.  
  5.    private Integer kilometros;
  6.    private String identificador;
  7.  
  8.    public BeanCoches(String identificador, Integer kilometros) {
  9.        this.identificador = identificador;
  10.        this.kilometros = kilometros;
  11.    }
  12.  
  13.    public void setKilometros(Integer kilometros) {
  14.        this.kilometros = kilometros;
  15.    }
  16.    public void setIdentificador(String identificador) {
  17.        this.identificador = identificador;
  18.    }
  19.  
  20.    public String getIdentificador() {
  21.        return identificador;
  22.    }
  23.  
  24.    public Integer getKilometros() {
  25.        return kilometros;
  26.    }
  27.  
  28.    @Override
  29.    public String toString() {
  30.        return "\nIdentificador: "
  31.                .concat(identificador)
  32.                .concat("\nKilometros: ")
  33.                .concat(kilometros.toString());
  34.    }
  35. }


Código
  1. package testing.foro.identificadorCoches;
  2.  
  3. import javax.swing.*;
  4. import java.util.Scanner;
  5.  
  6. /*
  7. En el siguiente codigo necesito introducir dos identificadores de coches por scanner y
  8. que me muestre cual es el coche que ha recorrido mas kilómetros.
  9.  */
  10.  
  11. public class Coches {
  12.  
  13.    private static final Scanner TECLADO = new Scanner(System.in);
  14.    private JTextArea area = new JTextArea();
  15.  
  16.    public Coches() {
  17.        init();
  18.    }
  19.  
  20.    private void init() {
  21.        // Se almacenan un numero maximo de coches (4).
  22.  
  23.        BeanCoches arrayCoches[] = new BeanCoches[4];
  24.  
  25.        int contador = 0;
  26.  
  27.        for (int f = 0; f < arrayCoches.length; f++) {
  28.            println("Introduce el identificador del coche: ");
  29.            final String identificador;
  30.            final int kilometros;
  31.  
  32.            print("Identificador: ");
  33.            identificador = TECLADO.next();
  34.            print("Kilometros: ");
  35.            kilometros = TECLADO.nextInt();
  36.  
  37.            //seteamos al contructor el identificador y kilometros 2 parametros
  38.            //tambien se pueden sus setters
  39.            final BeanCoches coche = new BeanCoches(identificador, kilometros);
  40.  
  41.            arrayCoches[f] = coche;
  42.            //System.out.print("Coche dado de alta ");
  43.            //System.out.println();
  44.            //Comparar coches: el usuario introducir dos identificadores de coches y se mostrar el coche que haya recorrido mas kilometros.
  45.        }
  46.  
  47.  
  48.        println("Coches Procesados MAYOR KILOMETRAJE ###########################################");
  49.        String cocheIdentificador = "";
  50.        Integer cocheMayor = 0;
  51.        for (int f=0; f<arrayCoches.length; f++) {
  52.            cocheMayor = mayorKilometraje(arrayCoches);
  53.            cocheIdentificador = getCocheIdentificador(arrayCoches);
  54.        }
  55.  
  56.        final StringBuilder mensaje = new StringBuilder();
  57.        mensaje.append("Coche con Mayor Kilometraje");
  58.        mensaje.append("\n * Identificador: ").append(cocheIdentificador);
  59.        mensaje.append("\n * Kilometraje: ").append(cocheMayor);
  60.  
  61.  
  62.        print(mensaje.toString());
  63.        area.setText(mensaje.toString());
  64.        JOptionPane.showMessageDialog(null,area,"Coches Procesados",1);
  65.    }
  66.  
  67.    //Buscar coche con mayor Kilometraje
  68.    public Integer mayorKilometraje(final BeanCoches arrayCoches[]) {
  69.        int index = arrayCoches[0].getKilometros();
  70.        for( int f=0; f < arrayCoches.length; f++ ) {
  71.            if( arrayCoches[f].getKilometros() > index ) { //obtenemos el kilometraje
  72.                index = arrayCoches[f].getKilometros();
  73.            }
  74.        }
  75.        return index;
  76.    }
  77.  
  78.    //Buscar coche con mayor Kilometraje y cuando lo encuentre obtenemos el nombre
  79.    private String getCocheIdentificador(final BeanCoches beanCoches[]) {
  80.        int index = beanCoches[0].getKilometros();
  81.        String identificador = beanCoches[0].getIdentificador();
  82.        for(int f=0; f<beanCoches.length;f++) {
  83.            if(beanCoches[f].getKilometros() > index) {
  84.                identificador = beanCoches[f].getIdentificador();
  85.            }
  86.        }
  87.        return identificador;
  88.    }
  89.    private static <T> void print(final T s) {
  90.        System.out.print(s);
  91.    }
  92.    private static <T> void println(final T s) {
  93.        System.out.println(s);
  94.    }
  95.        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  96.        new Coches();
  97.    }
  98. }


« Última modificación: 14 Enero 2018, 18:48 por rub'n » En línea

KNOWLEDGE  SHOULD BE FREE!!!
Blog 0x727562276e
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
array java
Java
franklinlugo 1 2,972 Último mensaje 22 Enero 2009, 07:31
por Nakp
Sort Array in Java
Java
Shell Root 5 2,935 Último mensaje 7 Noviembre 2010, 01:48
por egyware
Duda sobre un array en java
Java
elbrujo20 3 944 Último mensaje 3 Junio 2015, 02:23
por DarK_FirefoX
Duda sobre un array en java
Java
elbrujo20 7 1,227 Último mensaje 15 Julio 2015, 00:14
por Usuario Invitado
Ayuda con array java
Java
LoboEnmascarado 1 594 Último mensaje 1 Diciembre 2016, 05:45
por 0xFer
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines