Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado 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.
-
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.
-
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);
-
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);
-
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
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")