Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: CharlyScoTT en 20 Octubre 2017, 23:53 PM

Título: Numero mayor y numero menor!!!! (error)
Publicado por: CharlyScoTT en 20 Octubre 2017, 23:53 PM
Mi problema es que cuando esta corriendo si me muestra el maximo de cualquier cantidad que yo introduzca pero... cuando es menor solo me muestra 0 no me muestra el numero menor que ponga el usuario.... ejemplo 5 es mi numero minimo que intridujo ......363 es el numero 20 lo que me muestra es
min:0
max:363

Código (java) [Seleccionar]


package primerparteexamen;

import java.util.Scanner;


public class Primerparteexamen {

   public static void main(String[] args) {
      Scanner sr= new Scanner(System.in);

        System.out.println("1 calificación");
        int q=sr.nextInt();
        System.out.println("2 calificación");
        int w=sr.nextInt();
        System.out.println("3 celificación");
        int e=sr.nextInt();
        System.out.println("4 calificación");
        int r=sr.nextInt();
        System.out.println("5 calificación");
        int t=sr.nextInt();
        System.out.println("6 calificación");
        int y=sr.nextInt();
        System.out.println("7 calificación");
        int u=sr.nextInt();
        System.out.println("8 calificación");
        int i=sr.nextInt();
        System.out.println("9 calificación");
        int o=sr.nextInt();
        System.out.println("10 calificación");
        int p=sr.nextInt();
        System.out.println("11 calificación");
        int a=sr.nextInt();
        System.out.println("12 calificación");
        int s=sr.nextInt();
        System.out.println("13 calificación");
        int d=sr.nextInt();
        System.out.println("14 calificación");
        int f=sr.nextInt();
        System.out.println("15 calificación");
        int g=sr.nextInt();
        System.out.println("16 calificación");
        int h=sr.nextInt();
        System.out.println("17 calificación");
        int j=sr.nextInt();
        System.out.println("18 calificación");
        int k=sr.nextInt();
        System.out.println("19 calificación");
        int l=sr.nextInt();
        System.out.println("20 calificación");
        int ñ=sr.nextInt();
       
       
         int min = 0;
       int max = 0;

       if (q < min) {
         min = q;
       } else if (q > max) {
         max = q;
       }

       if (w < min) {
         min = w;
       } else if (w > max) {
           max = w;
       }

       if (e < min) {
         min = e;
       } else if (e > max) {
         max = e;
       }
       if (r < min) {
         min = r;
       } else if (r > max) {
         max = r;
       }
       if (t < min) {
         min = t;
       } else if (t > max) {
         max = t;
       }

       if (y < min) {
         min = y;
       } else if (y > max) {
           max = y;
       }

       if (u < min) {
         min = u;
       } else if (u > max) {
         max = u;
       }
       if (i < min) {
         min = i;
       } else if (i > max) {
         max = i;
       }
       if (o < min) {
         min = o;
       } else if (o > max) {
         max = o;
       }

       if (p < min) {
         min = p;
       } else if (p > max) {
           max = p;
       }

       if (a < min) {
         min = a;
       } else if (a > max) {
         max = a;
       }
       if (s < min) {
         min = s;
       } else if (s > max) {
         max = s;
       }
        if (d < min) {
         min = d;
       } else if (d > max) {
         max = d;
       }

       if (f < min) {
         min = f;
       } else if (f > max) {
           max = f;
       }

       if (g < min) {
         min = g;
       } else if (g > max) {
         max = g;
       }
       if (h < min) {
         min = h;
       } else if (h > max) {
         max = h;
       }
       if (j < min) {
         min = j;
       } else if (j > max) {
         max = j;
       }

       if (k < min) {
         min = k;
       } else if (k > max) {
           max = k;
       }

       if (l < min) {
         min = l;
       } else if (l > max) {
         max = l;
       }
       if (ñ < min) {
         min = ñ;
       } else if (ñ > max) {
         max = ñ;
       }
       
        System.out.println("Min: " + min);
       System.out.println("Max: " + max);
 
   }
   
}



· Los temas deben ir en su respectivo subforo (esto no es "progranacióm general", es java)
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Título: Re: Numero mayor y numero menor!!!! (error)
Publicado por: biestable en 21 Octubre 2017, 08:47 AM
uff, deberias buscar una forma de automatizar esos if
¿si tuvieras mil números escribirías mil ifs?

Respecto a tu duda, evidentemente el programa te devuelve como mínimo el numero 0.

Has iniciado la variable min a 0 y ningún número positivo será menor que 0, por tanto ningún numero positivo que introduzcas por teclado cumplirá la condición de ser menor que min y nunca actualizarás esa variable.
Título: Re: Numero mayor y numero menor!!!! (error)
Publicado por: engel lex en 21 Octubre 2017, 19:46 PM
 :silbar: arrays y ciclos....

minimo debe ser el posible maximo numero como declaración inicial, maximo debe ser el posible minimo numero como declaración inicial