Foro de elhacker.net

Programación => Java => Mensaje iniciado por: bengy en 30 Agosto 2011, 04:57 am



Título: ayuda con Scanner
Publicado por: bengy en 30 Agosto 2011, 04:57 am
trato de que sea mas dinamico por ejemplo si tecleo 'si' quiero volver a ingresar los mismos datos que son lado1, lado2, lado3

Código
  1. import java.util.*;
  2. public class Lector{
  3.  
  4. public static void main(String [] args){
  5. Scanner dato = new Scanner(System.in);
  6. String r=" ";
  7. System.out.println("Ingrese 'si' si quiere iniciar/continuar");
  8. r=dato.nextLine();
  9. while(r.equals("si")){
  10. System.out.println("Ingrese lado1");
  11. int lado1=dato.nextInt();
  12. System.out.println("Ingrese lado2");
  13. int lado2=dato.nextInt();
  14. System.out.println("Ingrese lado3");
  15. int lado3=dato.nextInt();
  16.  
  17.            String res="";
  18.  
  19.            if(lado1==lado2 && lado1==lado3 && lado2==lado3){
  20.                System.out.println("Es triangulo Equilatero");
  21.            }
  22.            if(lado1==lado2 || lado1!=lado3 ){
  23.            System.out.println("Es triangulo isoceles");
  24.  
  25.            }
  26.            if(lado1!=lado2 && lado1!=lado3 && lado2!=lado3){
  27.  
  28.            System.out.println("Es triangulo Escaleno");
  29.            }
  30.            System.out.println("Ingrese 'si' si quiere iniciar/continuar");
  31.            r=dato.nextLine();
  32.  
  33.        }  
  34.            }
  35.        }


Título: Re: ayuda con Scanner
Publicado por: bengy en 2 Septiembre 2011, 05:08 am
ayuda por faaaaaaaaaaaaaaaaaaaaaaaa
o que!!!
 nadie sabe como resolver este problema????????????????????????


Título: ¿Y cual es tu pregunta?
Publicado por: egyware en 2 Septiembre 2011, 05:50 am
No entendi muy bien tu pregunta, y por lo que veo el codigo podria funcionar sin problemas.
Si te ayuda intenta con Scanner.next (creo no he visto la documentación y me da flojera xD)
Saludos!!!

Leete este tema:
http://foro.elhacker.net/java/problema_con_nextline_como_evitar_salto_de_linea-t337586.0.html;msg1657568#msg1657568


Título: Re: ayuda con Scanner
Publicado por: bengy en 7 Septiembre 2011, 20:07 pm
quiero que el lector sea mas dinamico
cada ves que termine de darme el resultado quiero que funcione nuevamente el Scanner


Título: Re: ayuda con Scanner
Publicado por: Valkyr en 7 Septiembre 2011, 22:30 pm
He estado probando lo que se habló en un tema similar (el enlace que puso egyware) y no funciona no se por qué. Nunca he utilizado esta clase, así que mirando el código la única solución que se me ocurre es que realices dos llamadas al método nextLine(). Es decir:

Código
  1. import java.util.*;
  2.  
  3. public class AOC {
  4.  
  5. public static void main(String[] args) {
  6. Scanner dato = new Scanner(System.in);
  7. String r = " ";
  8. System.out.println("Ingrese 'si' si quiere iniciar/continuar");
  9. r = dato.nextLine();
  10. while (r.equals("si")) {
  11. System.out.println("Ingrese lado1");
  12. int lado1 = dato.nextInt();
  13. System.out.println("Ingrese lado2");
  14. int lado2 = dato.nextInt();
  15. System.out.println("Ingrese lado3");
  16. int lado3 = dato.nextInt();
  17.  
  18. if (lado1 == lado2 && lado1 == lado3 && lado2 == lado3) {
  19. System.out.println("Es triangulo Equilatero");
  20. }
  21. if (lado1 == lado2 || lado1 != lado3) {
  22. System.out.println("Es triangulo isoceles");
  23.  
  24. }
  25. if (lado1 != lado2 && lado1 != lado3 && lado2 != lado3) {
  26.  
  27. System.out.println("Es triangulo Escaleno");
  28. }
  29. System.out.println("Ingrese 'si' si quiere iniciar/continuar");
  30. dato.nextLine();
  31. r = dato.nextLine();
  32. }
  33. }
  34. }
  35.  

De esa forma funciona correctamente y hace lo que pedías que hiciese. La solución es un poco...chapucera pero por el momento puede servirte.

Saludos.


Título: Re: ayuda con Scanner
Publicado por: bengy en 11 Septiembre 2011, 18:25 pm
gracias si funciona!!!