Mini laboratorio sesión 02: Usuario
En casi cualquier App el concepto de usuario siempre está
presente. Nuestro objetivo es crear una clase para representar
usuarios y hacer un programa principal para jugar con dicha clase y hacer una funcionalidad muy parecida a la inicio de sesión.
Creando la clase Usuario
y un objeto
- Recuerda que una clase es una plantilla para crear objetos.
- Los objetos no van a existir hasta que ejecutemos el programa. El programa puede crear objetos usando esa plantilla, por lo tanto, la plantilla tiene que decir qué características tienen todos los usuarios.
- Por ejemplo, en una app podríamos estar interesados en representar estas características de los usuarios:
- El correo electrónico (se usará para registrarse).
- La contraseña.
- El nombre.
- La edad.
- Crear un archivo llamado
Usuario.java
en el que se defina la estructura básica de la clase Usuario
.
- Vamos a crear una clase que tenga el programa principal en el fichero
App.java
(es un fichero con una clase App
que sólo tiene el método main
, el programa principal):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class App {
public static void main(String[] args) {
// Creamos un objeto de la clase Usuario
Usuario usuario = new Usuario();
// Asignamos valores a sus atributos
usuario.correo = "ana.lopez@example.com";
usuario.password = "anita99";
usuario.nombre = "Ana López";
usuario.edad = 25;
// Imprimimos sus valores
System.out.println("Correo: " + usuario.correo);
System.out.println("Nombre: " + usuario.nombre);
System.out.println("Edad: " + usuario.edad);
}
}
|
- Compila y ejecuta el programa, deberías ver algo como esto:
1
2
3
4
5
6
|
$ javac App.java
$ java App
Correo: ana.lopez@example.com
Nombre: Ana López
Edad: 25
$
|
¿Problemas con javac o java?
Los problemas habituales para hacer funcionar el entorno de desarrollo
de Editor + Línea de comandos son los siguientes:
- Asegúrate de que tienes instalado un JDK (Java Development
Kit). Puedes comprobarlo ejecutando
javac
y java
y viendo qué
te dice la terminal. Si no está instalado te sugiero que lo instales
con https://adoptium.net/ (intenta instalar una versión no demasiado
moderna como la
8, la 11 o la
17).
- Asegúrate que el directorio en el que estás trabajando on la consola
es el mismo directorio donde estás editando los ficheros. Para ello
puedes preguntar en la consola el directio actual (
cwd
en el CMD
de Windows, pwd
en el shell de Unix), listar los ficheros en el
directorio de la consola (dir
en el CMD de Windows, ls
en el
shell de Unix), cambiarte de directorio si es necesario (cd DIR
).
- Los IDEs (como Visual Studio Code) a veces señalan mensajes de error
que no son mensajes de error reales de Java. Los mensajes de error a
los que hay que hacer caso son a los mensajes de
javac
y java
.
- Los IDEs (como Eclipse) introducen a veces, de forma forzosa,
nombres de paquete (
package
al principio de los ficheros). En ese
caso, la compilacuón con javac
y sobre todo la ejecución con
java
se complican. Si es tu caso, basta con borrar esa línea que
empieza con package
al principio de tus clases.
- Intenta respetar las convenciones habituales en Java:
- Los nombres de las clases empiezan en mayúscula.
- Los nombres de los ficheros reflejan el nombre de la clase
(pública) que contienen, usa también un nombre que empiece por
mayúsculas.
- Las clases que usamos para representar datos no tiene
main
, el
main
sólo está en la clase que es el programa principal.
Iniciar sesión
- Vamos a modificar la App para simular un iniciar sesión.
- El programa empezará cargando los usuarios y luego preguntará al usuario el correo y el contraseña y el programa responder con un mensaje de bienvenida.
- A continuación tienes la mayor parte del código. Hay un comentario que dice POR HACER, completa lo que se pide:
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
|
import java.util.Scanner;
public class App {
public static void main(String[] args) {
// Base de datos de usuarios simulada como array
Usuario[] usuarios = new Usuario[3];
// POR HACER: poblar la "base de datos" con 3 usuarios ficticios
// Para poder leer de la entrada estándar (teclado)
Scanner scanner = new Scanner(System.in);
// Pedir credenciales al usuario (correo y contraseña)
System.out.print("Introduzca su correo: ");
String correo = scanner.nextLine();
System.out.print("Introduzca su contraseña: ");
String password = scanner.nextLine();
// POR HACER: verificar que el usurio existe y que la contraseña es
// correcta, si es así dar la bienvenida y terminar, si no volver a
// intentarlo tres veces
// Cerrar el scanner
scanner.close();
}
}
|