Java - como solucionar en java

 
Vista:

como solucionar en java

Publicado por Hans (3 intervenciones) el 29/10/2022 22:49:58
Solicitar usuario y contraseña para ingresar al sistema, teniendo 2 opciones como usuario a: Invitado y
b:Administrador, si es usuario Invitado contraseña Fisica2022 para ingresar y si es Administrador
la contraseña es: Quimicos2022.
Se tienen solo 5 oportunidades para ingresar siempre y cuando se digite un usuario correcto y que la contraseña no corresponda, sino el sistema se cierra y debe enviar un mensaje de
error de ingreso, si logra ingresar debe dar un mensaje de bienvenido al sistema y el usuario con el cual ingresó, si se intenta ingresar con un usuario diferente debe permitir volver a intentarlo hasta 3 oportunidades.
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

como solucionar en java

Publicado por Kabuto (1381 intervenciones) el 30/10/2022 12:51:28
Puedes predefinir en 4 Strings los dos nombres de usuario y las dos contraseñas.
Declarar además dos contadores, uno para los intentos de introducir usuario y otro para los intentos de contraseñas.

En un bucle while se va pidiendo usuario. Si falla se descuenta un intento, cuando el contador llegue a 0 terminarmos bucle y cerramos programa.

Si acierta un usuario, iniciamos un segundo bucle anidado para pedir la contraseña correcta.
Si falla, de nuevo descontamos intentos hasta llegar a 0 y cerramos bucle
Si acierta, damos bienvenida y también cerramos bucle.

Inténtalo.

En cualquier caso, te dejo aquí un ejemplo CASI terminado.
Solo falta completar la parte para cuando se loguea como "Invitado", que viene a ser lo mismo que la parte que cuando entra como Administrador, solo hay que cambiar una variable.
Al menos escribe tú esa parte, que no es lo mismo solo leer un código, que escribirlo aunque sea copiando un ejemplo. Algo más se aprenderá...


Pero vamos, recomiendo que primero hagas tú un intento, aunque acabe en desastre. Se aprende mucho más equivocándose o escribiendo códigos que llevan a callejones sin salida.

Un saludo.


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
60
61
62
63
public class Ingreso {
 
	//Usuarios
	final static String USU1 = "Administrador";
	final static String USU2 = "Invitado";
	//Passwords
	final static String USU1_PW = "Quimicos2022";
	final static String USU2_PW = "Fisica2022";
	//Contadores de intentos
	static int intentosUsu = 3;
	static int intentosPw = 5;
 
	public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
		boolean continuar = true;
 
		while(continuar) {
			System.out.println("\n\t\tACCESO AL SISTEMA");
			System.out.print("\nUsuario: ");
			String usu = teclado.nextLine();
 
			if (usu.equals(USU1)) { //Administrador
				while (continuar) {
					System.out.print("\nContraseña: ");
					String pw = teclado.nextLine();
					if (pw.equals(USU1_PW)) {
						System.out.println("\n¡¡Bienvenido " + usu + "!!");
						continuar = false;
					}
					else {
						System.out.println("Contraseña invalida");
						intentosPw--;
						if (intentosPw > 0)
							System.out.println("Quedan " + intentosPw + " intentos");
						else {
							System.out.println("Intentos agotados. Sistema cerrado");
							continuar = false;
						}
					}
				}
			}
			else if (usu.equals(USU2)) { //Invitado
				//Falta completar esta parte
			}
			else { //Desconocido
				System.out.println("\nUsuario desconocido.");
				intentosUsu--; //Descontamos un intento
				if (intentosUsu > 0)
					System.out.println("Quedan "+ intentosUsu + " intentos");
				else {
					System.out.println("Intentos agotados. Sistema cerrado");
					continuar = false;
				}
			}
		}
 
		System.out.println("\n\t\tFIN DE PROGRAMA");
		teclado.close();
 
	}
 
}
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