Foro de elhacker.net

Programación => Java => Mensaje iniciado por: benitopro en 17 Septiembre 2010, 21:06 pm



Título: ayuda a un novato
Publicado por: benitopro en 17 Septiembre 2010, 21:06 pm
Muy buenas a todos, he empezado a estudiar el lenguaje informatico java y me e propuesto empezar haciendo programillas XP jjaja x ahora va bien pero esta vez.... el programa debe ser un simulador de la bonoloto, todo lo e echo como creia pero a la hora de comparar los dos arrays no me lo hace, os agradeceria que alguno me pudiese ayudar, e marcado con un comentario donde esta el error pero no se porque. GRACIAS DE ANTEMANO!!!!!!!!

Código
  1. import java.util.Scanner;
  2.  
  3.  
  4. public class bonoloto {
  5.  
  6. /*
  7. 8. Leer los seis números de una jugada de la bonoloto.
  8. A continuación leer los seis números de la combinación ganadora y mostrar en
  9. pantalla los números acertados y el número total de aciertos.
  10. */
  11. public static void main(String[] args) {
  12. int premiado [] = {1,2,3,4,5,6};
  13. int lista [] = new int [6];
  14. int i = 0;
  15. int j = 0;
  16. int numero = 0;
  17. int w = 0;
  18.  
  19. Scanner teclado = new Scanner (System.in);
  20.  
  21. System.out.print("Números de la combinación: ");
  22. while(i < 6){
  23. numero = teclado.nextInt();
  24.  
  25. j = 0;
  26. while(j < i){
  27. if(numero == lista[j]){
  28. j = i + 1;
  29. System.out.println("Numero repetido ");
  30.  
  31. }else{
  32. j++;
  33. }
  34. }
  35. if(j == i){
  36. lista[i] = numero;
  37. i++;
  38. }
  39. }
  40. i = 0;
  41. while(i < 6){
  42. j = 0;
  43. while(j < 6){
  44. if (lista[i] == premiado[j]){ //el fallo esta aqui pero no se porque
  45. j = i + 1;
  46. System.out.println("Numero acertado");
  47. w++;
  48. }else{
  49. i++;
  50. }
  51. }
  52. }
  53. System.out.print("Numero premiado: ");
  54. for(int k = 0; k < 6; k++){
  55. System.out.println(premiado[k]);
  56. }
  57. System.out.println("Cantidad de numeros acertados: " + w);
  58. }
  59.  
  60. }


Título: Re: ayuda a un novato
Publicado por: Shell Root en 17 Septiembre 2010, 21:49 pm
...y me e propuesto empezar haciendo programillas
Código:
8.    Leer los seis números de una jugada de la bonoloto. 

 :-X


Título: Re: ayuda a un novato
Publicado por: xassiz~ en 17 Septiembre 2010, 21:52 pm
Prueba modificando:
Código
  1. if (lista[i] == premiado[j]){
  2.  

por:
Código
  1. if (lista[i].equals(premiado[j])){
  2.  


Saludos ^.^


Título: Re: ayuda a un novato
Publicado por: benitopro en 17 Septiembre 2010, 22:07 pm
he intentado cambiar esa parte como tu me as dicho pabloni, pero, me pone que no puede invocar equals(int) en el estado primitivo del tipo int.



PD: y no he entendido el comentario de Shell Root.....


Título: Re: ayuda a un novato
Publicado por: Shell Root en 17 Septiembre 2010, 22:22 pm
Código
(http://img412.imageshack.us/img412/4927/pantallazot.th.png) (http://img412.imageshack.us/img412/4927/pantallazot.png)

Resultado
(http://img810.imageshack.us/img810/2981/pantallazo1j.th.png) (http://img810.imageshack.us/img810/2981/pantallazo1j.png)


Título: Re: ayuda a un novato
Publicado por: benitopro en 18 Septiembre 2010, 11:36 am
bale muchisimas gracias ya e conseguido resolver el problema jaja era donde decia que no abia puesto k lo comparase con el array del premiado XD vaya fallo jajajaj bueno pues gracias a los dos por intentar ayudarme jaja