elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 23:34  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  No puedo hacer que funcione correctamente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No puedo hacer que funcione correctamente  (Leído 1,082 veces)
John Locke

Desconectado Desconectado

Mensajes: 4



Ver Perfil
No puedo hacer que funcione correctamente
« en: 24 Abril 2011, 06:37 »

Buenas , soy muy nuevo en esto de Java , y tambien es el primer lenguaje que aprendo , asi que si hiero la sensibilidad/ego de alguien por mis bajos conocimientos , abstengase de comentar , gracias
Bueno mi duda es la siguiente , estoy haciendo un ejercicio que tengo que hacer un programa que me pida numeros enteros indefinidamente hasta que ingrese 0 , y ahi me dice los 2 numeros mayores
Tengo basicamente dos dudas , la primera es , como hago para asignarle el minimo valor posible a una variable?? tenia entendido que era por ejemplo;
variable=MIN_VALUE , pero el compilador me lo rechaza.
y la segunda es que cuando lo compilo , me da el numero mayor y el segundo me da 0 , aunque haya ingresado varios valores mayores que 0, y la verdad ya no tengo idea de que cambiarle para hacerlo funcionar bien

aca les dejo el codigo



Código:
import java.util.*;
public class Prac1Ej2{
public static void main(String args[]){
int mayor1=-1999;
int mayor2=-1999;
int numero=-1999;
System.out.println("Ingrese número ");
Scanner input=new Scanner(System.in);
numero=input.nextInt();
if (numero==0)
System.out.println("Finalizado antes de empezar");
else {
while (numero!=0) {
System.out.println("Ingrese número");
numero=input.nextInt();
if (numero>mayor1) {
mayor2=mayor1;
mayor1=numero;
}
if ((mayor2<numero)&&(numero<mayor1)) ;{
mayor2=numero;
}
}
System.out.println("El mayor numero es "+mayor1);
System.out.println("El segundo numero mayor es "+mayor2);
}

   
                    }
                                    }



Desde ya , muchas gracias


En línea
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: No puedo hacer que funcione correctamente
« Respuesta #1 en: 24 Abril 2011, 06:47 »

Estas iniciando las variables con valores -1999, para q? no le pongas ningun valor.


En línea
John Locke

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: No puedo hacer que funcione correctamente
« Respuesta #2 en: 24 Abril 2011, 07:00 »

porque quise ponerles un valor bajo , en todo caso no responde a ninguna de mis dudas
gracias igual
En línea
Tzhed\ Kyperf/
Wiki

Desconectado Desconectado

Mensajes: 800


Tzhed > /dev/sda


Ver Perfil WWW
Re: No puedo hacer que funcione correctamente
« Respuesta #3 en: 24 Abril 2011, 10:10 »

Creo que así ya funcionaria.

Código
import java.util.*;
public class Prac1Ej2{
public static void main(String args[]){
   int mayor1=0;
   int mayor2=0;
   int numero;
   System.out.println("Ingresa un numero: ");
   Scanner input=new Scanner(System.in);
   numero=input.nextInt();
   if (numero==0) System.out.println("Finalizado antes de empezar");
   else {
           mayor1=numero;
           while (numero!=0) {
               System.out.println("Ingresa otro numero: ");
               numero=input.nextInt();
               if (numero>mayor1) {
                           mayor2=mayor1;
                           mayor1=numero;
}
}
}
System.out.println("El mayor numero es "+mayor1);
System.out.println("El segundo numero mayor es "+mayor2);
}
}[code]
 
[/code]


Código:
run:
Ingresa un numero:
7
Ingresa otro numero:
9
Ingresa otro numero:
10
Ingresa otro numero:
0
El mayor numero es 10
El segundo numero mayor es 9
BUILD SUCCESSFUL (total time: 12 seconds)
« Última modificación: 24 Abril 2011, 10:27 por Tzhed » En línea

John Locke

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: No puedo hacer que funcione correctamente
« Respuesta #4 en: 25 Abril 2011, 01:03 »

Muchisimas gracias Tzhed  , asi si me funciono ,era mucho mas simple de lo que pensaba , tipico de los problemas de logica jajaj

Ahora una ultima duda , como asigno a una variable el minimo valor?? yo pense que era MIN_VALUE , pero no me acepta el compilador , quiero saber asi puedo adaptar el programa para que te siga dando el resultado correcto cuadno se ingresen numeros negativos
En línea
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: No puedo hacer que funcione correctamente
« Respuesta #5 en: 25 Abril 2011, 02:32 »

Buenas , soy muy nuevo en esto de Java , y tambien es el primer lenguaje que aprendo , asi que si hiero la sensibilidad/ego de alguien por mis bajos conocimientos , abstengase de comentar , gracias

A ver a ver, creo que depende. El hecho de que estes aprendiendo Java no signfica que no te puedan hacer ver tus errores.
Se te pasa si cometes errores de sintaxis, porque como dices eres nuevo, pero de logíca ya es un poco difícil.
 
Muchisimas gracias Tzhed  , asi si me funciono ,era mucho mas simple de lo que pensaba , tipico de los problemas de logica jajaj

Creo que no debes venir aquí justificandote con que eres nuevo y que sean comprensibles.

Estas iniciando las variables con valores -1999, para q? no le pongas ningun valor.
porque quise ponerles un valor bajo , en todo caso no responde a ninguna de mis dudas
gracias igual

Muy buena razón para ponerle ese valor, solo porqué se te antojó. ¿Por qué no -100000000?, es un valor mas pequeño.

Deberías pensar mas lo que te dijo XXX-ZERO-XXX

En cuanto al código de Tzhed.

Código:
--------------------Configuration: <Default>--------------------
Ingresa un numero:
9
Ingresa otro numero:
7
Ingresa otro numero:
2
Ingresa otro numero:
1
Ingresa otro numero:
4
Ingresa otro numero:
0
El mayor numero es 9
El segundo numero mayor es 0

Process completed.

Creo que deberías considerarlo.

El problema no es muy complicado, si me da tiempo más tarde lo resuelvo y lo subo.

En cuanto a valor mínimo y máximo de la variable int esa así.

Código
Integer numero=new Integer("1");
System.out.println(numero.MIN_VALUE);
 

No sé si a eso te refieres.

Saludos.

En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines