Foro de elhacker.net

Programación => Java => Mensaje iniciado por: tcubanito en 7 Agosto 2014, 11:09 am



Título: Tabla Java Valor Min y Maximo Ayuda por favor
Publicado por: tcubanito en 7 Agosto 2014, 11:09 am
aqui les pongo has ahora donde llegue:

import java.util.Scanner;

public class Tableau {

   public static void main(String[] args) {
      /* Cours: Etude de L'Algorithme, Lecon: Les Tableaux
       * 4806H Devoir 7
       * Sairir 20 postes d'un Tableau d'entier ŕ une dimension puis
       * de rechercher la valeur minimum et maximum parmi ces 20 poste
       */
      int [] tab = new int [3];
      Scanner clavier = new Scanner(System.in);
      
      System.out.print("Entrez le valeur de la position 0: ");
      tab[0] = clavier.nextInt();
      
      
      System.out.println("Entrez le valeur de la position 1: ");
      tab[1] = clavier.nextInt();
      
      System.out.println("Entrez le valeur de la position 2: ");
      tab[2] = clavier.nextInt();
      
      int Min = tab[0];
      int Max = tab[0];
      
      for (int i = 0; i < tab.length; i++) {
      if(tab < Min){ Min = tab;
      
         }
      if(tab > Max){ Max = tab;
      
      System.out.println("Max: " + Max);   
      System.out.println("Min: " + Min);   
   
      }
      
      }
   }
}

Cuando entro por ejemplo el primer valor para la posicion 0 = 10, en la posicion 1 = 30 y en la posicion 2 = 20, aqui todo va bien, pero si digamos entro 10; 20; y 30 min deberia darme 10 como es normal maximo 30 pero me da esto:
Max: 20
Min: 10
Max: 30
Min: 10
osea repite los resultados la ultima secuencia de repeticion me da correcto pero no quiero que pase esto si no que ponga el resultado final max y min y luego tengo otro problema si entro 30; 10 y 20 no muestra ningun resultado; ayuda por favor es para un test de la escuela


Título: Re: Tabla Java Valor Min y Maximo Ayuda por favor
Publicado por: madara1412 en 7 Agosto 2014, 11:49 am

los Println tienen que ir fuera el siclo for por eso repite los datos
 y en los IF que estan dentro del for
yo lo aria asi
Código:
int max=0;
int min=9999;
for(int i=0;i<=tab.length;i++)
{
    if(tab[i]>max)
      {
         max=tab[i];
      }
     if(tab[i]<min)
    {
      min=tab[i]
    }
}