Java - No entiendo los conceptos básicos :(

 
Vista:

No entiendo los conceptos básicos :(

Publicado por Silvia (11 intervenciones) el 15/06/2013 00:02:32
Mismamente no se cómo hacer para separar en funciones código y que use variables del main o declaradas fuera de él... este código por ejemplo debería meter en una función la parte de pedir la respuesta al usuario y no se cómo hacerlo........... lo intengo pero me da siempre errores, esto es lo que llevo pero nada...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public class MemorizaPalabras {
 
    public static void main(String[] args) {
         // Variables        
        boolean iguales = true;
        boolean numeroDePalabrasIncorrectas = true;
        String palabrasDelUsuario;
        String[] arrayPalabrasDelUsuario;
        Scanner teclado = new Scanner(System.in);
        int contadorPalabrasMostradas = 0 ;
        String[] arrayPalabrasMostradas = new String[6];
        // Guardamos las palabras
        String[] arrayPalabras = new String[6];
            arrayPalabras[0] = "Boligrafo";
            arrayPalabras[1] = "Lapiz";
            arrayPalabras[2] = "Cuchara";
            arrayPalabras[3] = "Vaso";
            arrayPalabras[4] = "Pantalla";
            arrayPalabras[5] = "Teclado";
 
    }
        // Ejecucion de las palabras del usuario
        public void Preguntas(){
 
        do{
                int numPalabra = (int)(Math.random()*6);
                System.out.println(arrayPalabras[numPalabra]);
                arrayPalabrasMostradas[contadorPalabrasMostradas] = arrayPalabras[numPalabra];
                System.out.println("Introduzca respuesta: ");
                palabrasDelUsuario = teclado.nextLine();
                arrayPalabrasDelUsuario = palabrasDelUsuario.split(" ") ;
                if( arrayPalabrasDelUsuario.length == contadorPalabrasMostradas + 1 ){
                    for(int i = 0 ; i < arrayPalabrasDelUsuario.length ; i++ ){
                        if( !arrayPalabrasMostradas[i].trim().toUpperCase().equals( arrayPalabrasDelUsuario[i].trim().toUpperCase() )){
                            iguales = false;
                            break;
                        }
                    }
                }else{
                    numeroDePalabrasIncorrectas = false;
                }
                contadorPalabrasMostradas++;
 
        }while( iguales && contadorPalabrasMostradas <= 5 && numeroDePalabrasIncorrectas);
                // Indicamos el mensaje correspondiente
                if( !iguales){
                    System.out.println("Has perdido la partida. ");
                }else if( contadorPalabrasMostradas == 6 ){
                    System.out.println("Eres un crack. ");
                }else if( !numeroDePalabrasIncorrectas ){
                    System.out.println("Debes escribir todas las palabras. ");
                }
 
 
        }
}



alguna idea o ejemplo para poder saber cómo hago para crear funciones y poder llamarlas y sacar esos trozos de código, estoy desesperada ya :(

ese public void Preguntas() da fallo, todas las variables que tiene dentro me dan fallo porque no las coge de fuera, es decir las declaro fuera pero no las puede usar en esa función, vaya lío :(
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No entiendo los conceptos básicos :(

Publicado por Renzo (232 intervenciones) el 15/06/2013 00:41:15
El programa no funciona cierto?
Cuentame que debe hacer el programa
Ya lo hice ejecutar, pero la lógica debo corregirla

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo los conceptos básicos :(

Publicado por Renzo (232 intervenciones) el 15/06/2013 00:46:58
Creo que ya lo tengo Silvia:
a ver, ejecuta la clase y dime si el comportamiente es el correcto


----------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import java.util.Scanner;
 
public class MemorizaPalabras {
 
    static boolean numeroDePalabrasIncorrectas = true;
    static String palabrasDelUsuario;
    static String[] arrayPalabrasDelUsuario;
    static Scanner teclado = new Scanner(System.in);
    static int contadorPalabrasMostradas = 0 ;
    static String[] arrayPalabrasMostradas = new String[6];
    // Guardamos las palabras
    static String[] arrayPalabras = new String[6];
 
 
    public static void main(String[] args) {
         // Variables        
            arrayPalabras[0] = "Boligrafo";
            arrayPalabras[1] = "Lapiz";
            arrayPalabras[2] = "Cuchara";
            arrayPalabras[3] = "Vaso";
            arrayPalabras[4] = "Pantalla";
            arrayPalabras[5] = "Teclado";
            Preguntas();
    }
        // Ejecucion de las palabras del usuario
        public static void Preguntas(){
        boolean iguales=true;
        do{
                int numPalabra = (int)(Math.random()*6);
                System.out.println(arrayPalabras[numPalabra]);
                arrayPalabrasMostradas[contadorPalabrasMostradas] = arrayPalabras[numPalabra];
                System.out.println("Introduzca respuesta: ");
                palabrasDelUsuario = teclado.nextLine();
                arrayPalabrasDelUsuario = palabrasDelUsuario.split(" ") ;
                if( arrayPalabrasDelUsuario.length == contadorPalabrasMostradas + 1 ){
                    for(int i = 0 ; i < arrayPalabrasDelUsuario.length ; i++ ){
                        if( !arrayPalabrasMostradas[i].trim().toUpperCase().equals( arrayPalabrasDelUsuario[i].trim().toUpperCase() )){
                            iguales = false;
                            break;
                        }
                    }
                }else{
                    numeroDePalabrasIncorrectas = false;
                }
                contadorPalabrasMostradas++;
 
        }while( iguales && contadorPalabrasMostradas <= 5 && numeroDePalabrasIncorrectas);
                // Indicamos el mensaje correspondiente
                if( !iguales){
                    System.out.println("Has perdido la partida. ");
                }else if( contadorPalabrasMostradas == 6 ){
                    System.out.println("Eres un crack. ");
                }else if( !numeroDePalabrasIncorrectas ){
                    System.out.println("Debes escribir todas las palabras. ");
                }
 
 
        }
}

----------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo los conceptos básicos :(

Publicado por Silvia (11 intervenciones) el 15/06/2013 00:53:01
voy a ver si así me lo acepta ahroa te digo muchas gracias amigo

edito: wow gracias así sí que no da fallos! y yo volviéndome loca que no me cogía las variables :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo los conceptos básicos :(

Publicado por Renzo (232 intervenciones) el 15/06/2013 00:55:08
No es nada,
andaba aburrido en el trabajo. y entro eventualmente aca a ayudar.

Saludos

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo los conceptos básicos :(

Publicado por Silvia (11 intervenciones) el 15/06/2013 01:02:15
Muchas gracias pues!! ya sigo yo mejorando el código que tengo que implementar algunas cosas pero era para saber cómo hacer esa parte ya que no me cogía las variables. gracias de nuevo!! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No entiendo los conceptos básicos :(

Publicado por Renzo (232 intervenciones) el 15/06/2013 01:04:51
No pasa nada.

Suerte

Renzo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar