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


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


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

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ejercicio java bucle
« en: 13 Enero 2017, 11:25 »

Hola
me estoy iniciando en el lenguaje Java y me toca hacier un ejercicio que no acaba por salirme. El enunciado es solicitar al usuario un número y que vuelva a solicitar tantos números como los introducidos en la respuesta anterior. Cuando el usuario deje de introducir números se debe mostrar en pantalla el mínimo de todos. Este es mi código a ver si me podéis dar alguna pista. Me da los resultados primeros pero a la hora de mostrar el mínimo no hace nada.
import java.util.Scanner;
Código
  1. public class SecuenciaNumerosEnteros
  2. {
  3.    public static void main(String[] args) {
  4.  
  5.        int numeroentero;
  6.        int secuenciaenteros=0;
  7.        int menor=9999;
  8.  
  9.  
  10.        Scanner teclado=new Scanner(System.in);
  11.        System.out.print("Introducir un número;");
  12.        numeroentero=teclado.nextInt();
  13.  
  14.  
  15.        System.out.print("Introducir una secuencia de"+" "+numeroentero+" "+"enteros");
  16.  
  17.        for(int i=0;i<=numeroentero;i++) {
  18.  
  19.            secuenciaenteros=teclado.nextInt();
  20.  
  21.  
  22.        if(secuenciaenteros<menor){
  23.            menor=secuenciaenteros;
  24.  
  25.  
  26.        }
  27.  
  28.    }
  29.  
  30.        System.out.print("El valor menor de la secuencia introducida es"+menor);
  31.  
  32.  
  33.  
  34. }
  35. }






· Los códigos deben ir en etiquetas GeSHi
>Lee las reglas
-Engel Lex


« Última modificación: 13 Enero 2017, 13:57 por engel lex » En línea

MNicolas

Desconectado Desconectado

Mensajes: 128


Developer


Ver Perfil WWW
Re: Ejercicio java bucle
« Respuesta #1 en: 10 Febrero 2017, 11:40 »

Asigna a menor Integer.MAX_VALUE; Es una constante que tiene el valor máximo que puede almacenar un integer, porque según está el programa si introduce números mayores a 9999 te saldrá que el menor es 9999 cuando ese número nunca lo introdujo. Si pones el max value no podrá introducir mayores valores porque daría error porque los int tienen un máximo.

Y si no te sale es porque el bucle te pide un número más del que estas solicitando:

Si el usuario introduce ( en numeroentero ) un 6 el bucle da 7 vueltas, ¿por qué? Porque la i del bucle empieza en 0 y la condición del bucle es mientras i <= numeroentero.

Las soluciones es poner i = 1 o quitar el igual "=" de i<=numeroentero.

Como esta ahora introduciendo en numeroentero un 3

i = 0; i<=3 -> si ejecuta el contenido del bucle
i = 1; i<=3 -> si ejecuta el contenido del bucle
i = 2; i<=3 -> si ejecuta el contenido del bucle
i = 3; i<=3 -> si ejecuta el contenido del bucle
i = 4; i<=3 -> no se cumple la condición, acaba el bucle

Como ves se ejecuta 4 veces a pesar de introducir un 3. De ahí o que empiece en uno o quitar el igual. Se ejecutará cunado i = 1,2 y 3 o i=0,1 y 2 respectivamente.

Saludos!



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemilla bucle de JAVA
Programación General
dennis094 4 1,347 Último mensaje 9 Marzo 2013, 01:41
por dennis094
ejercicio bucle while
Programación C/C++
indict 2 499 Último mensaje 19 Marzo 2013, 14:58
por amchacon
[JAVA] Ejercicio Java , no se por donde cogerlo
Java
Xh4xor23 8 2,131 Último mensaje 1 Abril 2014, 23:02
por 7Bliz
programacion java con bucle for
Ejercicios
maryuri 2 918 Último mensaje 5 Septiembre 2016, 08:38
por Zeros1001
Ejercicio Bucle While en Python
Ejercicios
mgkelly 2 455 Último mensaje 24 Mayo 2017, 06:30
por engel lex
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines