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


 


Tema destacado: [AIO elhacker.NET 2015] Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Ejercicio java bucle
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio java bucle  (Leído 209 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
Ejercicio Java
Ejercicios
incog 4 4,704 Último mensaje 13 Noviembre 2005, 03:14
por Hadess_inf
Problemilla bucle de JAVA
Programación General
dennis094 4 1,219 Último mensaje 9 Marzo 2013, 01:41
por dennis094
ejercicio bucle while
Programación C/C++
indict 2 451 Último mensaje 19 Marzo 2013, 14:58
por amchacon
[JAVA] Ejercicio Java , no se por donde cogerlo
Java
Xh4xor23 8 1,927 Último mensaje 1 Abril 2014, 23:02
por 7Bliz
programacion java con bucle for
Ejercicios
maryuri 2 586 Último mensaje 5 Septiembre 2016, 08:38
por Zeros1001
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines