Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Alvarobarlop en 19 de Octubre 2022, 06:13

Título: Ayuda con programa basico usando while
Publicado por: Alvarobarlop en 19 de Octubre 2022, 06:13
Usando estructura while realizar un programa en que se pregunte al usuario por la ficha (cruz o círculo) que el jugador que empieza el juego va a usar. Solo se aceptarán como valores válidos 'x' y 'o' e indistintamente en mayúscula o minúscula. El programa finalizará con un mensaje que dice: El primer jugador juega con 'X' y el segundo con 'O' (en mayúsculas, independientemente de como se hayan introducido) o viceversa. Se preguntará tantas veces como sea necesario hasta que se introduzca un valor correcto.
Título: Re: Ayuda con programa basico usando while
Publicado por: Kabuto en 19 de Octubre 2022, 10:27
Haz tú primero un intento y compartelo por aquí.
Si no consigues al solución, te ayudamos a corregir/completar lo que sea.

Tienes que pedir un dato de tipo char al usuario.
Con un objeto Scanner, puedes pedirlo con el método nextLine(), el cuál te devuelve un String, pero si además le encadenas el método charAt(0) obtendrás un char.
nextLine().charAt(0);

Sin embargo, como hay que contemplar la posibilidad de que el caracter recibido sea mayúscula o minúscula, en estos casos lo ideal es transformar directamente a uno o a otro.
Como nos dice que al final hay que mostrar la ficha elegida y ha de mostrarse en mayúscula, pues así lo vamos a convertir.
Podemos hacerlo con el método toUpperCase(), aplicándolo al String que nos devuelve nextLine(), antes de pedir que lo convierta a char
nextLine().toUpperCase().charAt(0);


Esta petición de dato al usuario, se hace dentro de un bucle while que se ha de repetir mientras la ficha introducida sea distinto de 'X' y de 'O'

Inténtalo.
Un saludo.
Título: Re: Ayuda con programa basico usando while
Publicado por: kaneky en 20 de Noviembre 2022, 03:58
Hola soy nuevo

Scanner entrada = new Scanner(System.in);
        System.out.println("Ingrese ficha Cruz o Sello ");
        //Convierte el string a um caracter mayuscula
        char primerJ = entrada.nextLine().toUpperCase().charAt(0);

        //Convierte el caracter a un Int
        //int xd  = X;
        System.out.println("Segundo judaro Cruz o sello ");
        char segunJ = entrada.nextLine().toUpperCase().charAt(0);

        while(primerJ!=88 && segunJ!=89 && primerJ !=89 && segunJ != 88){
            System.out.println("Ingrese ficha Cruz o Sello ");
            //Convierte el string a um caracter mayuscula
            primerJ = entrada.nextLine().toUpperCase().charAt(0);

            //Convierte el caracter a un Int
            //int xd  = X;
            System.out.println("Segundo judaro Cruz o sello ");
            segunJ = entrada.nextLine().toUpperCase().charAt(0);
        }

        System.out.println("Jugador 1 = "+primerJ+" Jugador 2 = "+segunJ);

        //System.out.println(X);
        System.out.println(primerJ);
Título: Re: Ayuda con programa basico usando while
Publicado por: kaneky en 20 de Noviembre 2022, 04:03


Código: [Seleccionar]

Scanner entrada = new Scanner(System.in);
        System.out.println("Ingrese ficha Cruz o Sello ");
        //Convierte el string a um caracter mayuscula
        char primerJ = entrada.nextLine().toUpperCase().charAt(0);

        //Convierte el caracter a un Int
        //int xd  = X;
        System.out.println("Segundo judaro Cruz o sello ");
        char segunJ = entrada.nextLine().toUpperCase().charAt(0);

        while(primerJ!=88 && segunJ!=89 && primerJ !=89 && segunJ != 88){
            System.out.println("Ingrese ficha Cruz o Sello ");
            //Convierte el string a um caracter mayuscula
            primerJ = entrada.nextLine().toUpperCase().charAt(0);

            //Convierte el caracter a un Int
            //int xd  = X;
            System.out.println("Segundo judaro Cruz o sello ");
            segunJ = entrada.nextLine().toUpperCase().charAt(0);
        }

        System.out.println("Jugador 1 = "+primerJ+" Jugador 2 = "+segunJ);

        //System.out.println(X);
        System.out.println(primerJ);
Título: Re: Ayuda con programa basico usando while
Publicado por: Sixtoex en 11 de Mayo 2024, 17:36
Haz tú primero un intento y compartelo por aquí.
Si no consigues al solución, te ayudamos a corregir/completar lo que sea.

Tienes que pedir un dato de tipo char al usuario.
Con un objeto Scanner, puedes pedirlo con el método nextLine(), el cuál te devuelve un String, pero si además le encadenas el método charAt(0) obtendrás un char.
nextLine().charAt(0);

Sin embargo, como hay que contemplar la posibilidad de que el caracter recibido sea mayúscula o minúscula, en estos casos lo ideal es transformar directamente a uno o a otro.
Como nos dice que al final hay que mostrar la ficha elegida y ha de mostrarse en mayúscula, pues así lo vamos a convertir.
Podemos hacerlo con el método toUpperCase(), aplicándolo al String que nos devuelve nextLine(), antes de pedir que lo convierta a char
nextLine().toUpperCase().charAt(0);


Esta petición de dato al usuario, se hace dentro de un bucle while que se ha de repetir mientras la ficha introducida sea distinto de 'X' y de 'O'

Inténtalo.
Un saludo.

El ejercicio esta por aqui lo realice por python, no se si lo entendi correctamente, pero hay esta

Código: [Seleccionar]
for numero in range(43242):
    jugador1 = input("escribe una letra o u x: ").lower()
    if jugador1 == 'x':
        capturar1 = 'x'
        break
    elif jugador1 == 'o':
        capturar1 = 'o'
        break
    else:
        print("opcion invalida,intenta de nuevo ")
if capturar1 == 'x':
    print("El jugador primero a ingresado X y el jugador segundo a ingresado O")
else:
    print("El jugador primero a ingresado O y el jugador segundo a ingresado X")