Ayuda!!! Cálculo el valor entero(atributo) mas alto en un array

Iniciado por afrocardo, 18 Febrero 2017, 14:56 PM

0 Miembros y 1 Visitante están viendo este tema.

afrocardo

Code below:

Código (java) [Seleccionar]
package es.unex.cum.edi.sesion3;

import java.util.Scanner;

import es.unex.cum.edi.sesion3.Festival;

public class Main {
public static void main(String[] args) {

// Variables
int suma = 0;
float media = 0.0F;
int numMasAlto = 0;
/**
* Para el tamanio del array
*/
int tamanio = 0;
/**
* Para el nombre,direccion y edicion
*/

// Objeto Scanner
Scanner sc = new Scanner(System.in);

/**
* Rellenar el array.Se asigna el tamaño y se van introduciendo los
* datos en el array
*/

System.out.println("Introduzca el tamanio del array");
tamanio = sc.nextInt();

// Declaracion array
Festival[] array;
array = new Festival[tamanio];

/**
* Inicializacion del array
*/
for (int i = 0; i < array.length; i++) {
array[i] = new Festival();
}

/**
* Rellenar el array.Se ingresan los datos(Setters)
*/

for (int i = 0; i < array.length; i++) {
System.out.println("Introduzca el nombre del festival: ");
String nom = sc.next();
array[i].setNombre(nom);

System.out.println("Introduzca la ciudad donde se celebra el festival: ");
String ciu = sc.next();
array[i].setCiudad(ciu);

System.out.println("Introduzca el año en que desea ir al festival: ");
int año = sc.nextInt();
array[i].setEdicion(año);

}
/**
* Listar todos los objetos del vector(mostrarlos)
*/
for (int i = 0; i < array.length; i++) {
// If para verificar el array se haya rellenado y no está vacio
if (array[i] != null)
System.out.println(array[i].toString());

}

/**
* Media del atributo entero.Media del numero de ediciones
*/
for (int i = 0; i < array.length; i++) {
// Calculo la suma antes para calcular luego la media mas facilmente
suma = suma + array[i].getEdicion();
}
media = (float) suma / array.length;

[color=red][font=Verdana] /**
* El valor entero mas alto del array
*/
for (int i = 0; i < array.length; i++) {
if (array[i].getEdicion()>array[0].getEdicion()) {
numMasAlto = array[i].getEdicion();

}[/font][/color]

}
System.out.println("Media: " + media + " " + "Alto: " + numMasAlto);

}
}



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex

0xFer

Usa la variable i, es la variable te iteración en el bucle for:

Código (java) [Seleccionar]

int numMasAlto = array[0].getEdicion(); /*supongamos que el primer elemento es el más Alto*/

for (int i = 1; i < array.length; i++) {
         if (array[i].getEdicion()> numMasAlto) {
            numMasAlto = array[i].getEdicion();

         }

Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

afrocardo