Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2012, 16:13
Javaniano
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 11 meses
Puntos: 0
Generar contraseñas con 3 argumentos array

Como lo he entendido yo es que de argumentos solo hay tres declarados.

Depende del idioma y el tipo de método que elija el usuario para crear la clave, al ejecutar el programa tendrá diferentes tipos de argumentos.

De idiomas solo tiene que ir uno, en el primer argumento.

De modo generación solo podrá ir uno de los tres (-IN,-FI,-AL), en el segundo argumento.

Y de código de generación (1,2), solo puede ir uno en el argumento 3.


¿Me podéis decir en dónde me equivoco y cómo resolverlo?

Un programa que sirve para generar contraseñas a partir de los datos del usuario.
Argumentos
El programa recibirá tres argumentos:
Idioma:-CAT-CAS o-ENG
Este argumento indicará el idioma de los mensajes que se mostrarán al usuario del programa.
Modo de generación de la contraseña:-IN - FI - AL
Este argumento indica el método de generación de la contraseña
Código de generación de la contraseña: Puede ser 1 ó 2.
Funcionamiento
Uno como ejecutamos el programa pedirá:
Introduce el nombre, apellido y DNI de la persona para la que generar la contraseña
Con estos datos, el programa generará una contraseña de 8 dígitos de longitud. Para construir esta contraseña hará lo siguiente:
1. Si el modo de generación es-IN, generararà una contraseña que estará formada por las primeras letras del nombre, más las primeras letras del apellido, y se completará la contraseña con las primeras cifras del DNI.
El código de generación indica cuántas letras hay que coger. Si el código de generación es 1, se tomará sólo la primera letra del nombre y del apellido, si el código desde generación es 2, se tomarán las dos primeras letras del nombre y las dos primeras letras del apellido. El resto, hasta llegar a los 8 digitos que debe tener de largo la contraseña, las llenará con las primeras cifras del DNI.

Tenga en cuenta que aunque la M de María esté en mayúsculas, en la contraseña está en minúscula. Este sería el funcionamiento ideal. Pero si lo deja en mayúsculas también se valorará como correcto.
2 Si el modo de generación es-FI, generararà una contraseña que estará formada por las últimas letras del nombre, más las últimas letras del apellido, y se completará la contraseña con las primeras cifras del DNI.
El código de generación indica cuántas letras hay que coger. Si el código de generación es 1, se tomará sólo la última letra del nombre y del apellido, si el código desde generación es 2, se tomarán las dos últimas letras del nombre y las dos últimas letras del apellido. El resto, hasta llegar a los 8 digitos que debe tener de largo la contraseña, las llenará con las primeras cifras del DNI.

3. Si el modo de generación es-AL, generararà una contraseña concatenando las primeras 4 letras del nombre más las primeras 4 letras del apellido. Pero previamente siempre que una letra sea una vocal, se subtituirà por el código de generación.
El código de generación indica por qué número hay que sustituir cualquier vocal que se encuentre. Si el código de generación fuera 1, el nombre Ana pasará a ser 1N1, si el código desde generación fuera 2, sería 2n2. En este caso el DNI no se utiliza para generar la contraseña.

Control de entrada
El programa debe controlar que los datos introducidos sean correctos. Los controles que debe hacer son los siguientes:
1. Que el primer argumento sea-CAT,-CAS o-ENG
En caso de que no sea uno de estos valores, el programa debe dar el siguiente aviso y finalizar:
"Código de idioma incorrecto. Hay que introducir CAT-CAS o bien-ENG "
2. Que el segundo argumento sea-IN,-FI o-AL
En caso de que no sea uno de estos valores, el programa debe dar el siguiente aviso y finalizar:
"Modo de generación incorrecto. Hay que introducir-IN-FI o bien-AL "
3. Que el tercer argumento sea 1 ó 2
En caso de que no sea uno de estos valores, el programa debe dar el siguiente aviso y finalizar:
"Código de generación incorrecto. Es necesario que sea 1 ó 2 "
4. Que los datos introducidos por el usuario para teclado sea una sola frase que contenga tres palabras (una será el nombre, la siguiente el apellido, y la última el DNI.
En caso de que la frase no contenga al menos tres palabras separadas por espacios, el programa debe dar el siguiente aviso y volverlas a pedir hasta 3 veces:
"Datos incorrectos. Por favor, introduce nombre apellido y DNI "
En caso de que después de tres intentos el usuario siga introduciendo los datos incorrectos, el programa le dará el siguiente mensaje y finalizará ::
"Datos incorrectos. Programa finalizado "

Mensaje final
Una vez generada la contraseña, debe mostrarla al usuario con el siguiente mensaje:
La contraseña resultado es: contraseña
Por ejemplo:
La contraseña resultado es: m1r1r1c1
Selección de idioma

El programa debe definir tres arrays de mensajes, uno para cada idioma de funcionamiento:

String [] missatgeCAT = {
"Código de idioma incorrecto. Hay introducirse CAT-CAS o bien-ENG",
"Modo de generación incorrecto. Hay que introducir-IN-FI o bien-AL",
"Código de generación incorrecto. Debe ser 1 ó 2",
"Datos incorrectos. Por favor, introduce nombre apellido y DNI",
"Datos incorrectos. Programa finalizado"};

String [] missatgeCAS = {
"Código de idioma incorrecto. Debe ser-CAT-CAS o-ENG",
"Modo de generación incorrecto. Debe ser-IN-FI o-AL",
"Código de generación incorrecto. Debe ser 1 ó 2",
"Datos incorrectos. Por favor, introduzca el número apellido y DNI",
"Datos incorrectos. Se cierra el programa"};

String [] missatgeENG = {
"Wrong Language Code. Enter-CAT-CAS oro-ENG",
"Wrong Generation Mode. Enter-IN-FI or-AL",
"Wrong Generatio Code. Enter 1 ó 2",
"Wrong fecha. Please, enter name Surname and DNI",
"Wrong fecha. Programa finalizado"};

Según sea el argumento idioma que reciba el programa, éste dará todos los mensajes en catalán (-CAT), castellano (-CAS) o inglés (-ANG).
En caso de que se dé un código de idioma incorrecto, el mensaje de error correspondiente se puede dar en la lengua que se quiera.


CÓDIGO

boolean cat=false;
boolean esp=false;
boolean eng=false;

if(args[0].equals("cat")){
cat = true;
}else if (args[0].equals("cas")){
cas = true;
}else if (args[0].equals("eng")){
eng = true;
}

if (cat != true || esp != true || eng != true) {
"Código de idioma incorrecto. Hay que introducir CAT-CAS o bien-ENG "
}

esto es para el primer parámetro

segundo parámetre :

boolean al = false;
boolean ini = false;
boolean fin = false;

if(args[1].equals("-Al")){
al = true;
}else if (args[1].equals("-Fi")){
fin = true;
}else if (args[1].equals("-IN")){
ini = true;
}


boolean un = false;
boolean dos = false;
//aquí puede haber un error, no recuerdo si string o bolean pueden tener numéricos!!
if(args[2].equals("2")){
un = true;
}else if (args[2].equals("2")){
dos = true;
}


Aquí estoy bloqueado.

¿Me podéis ayudar a continuarlo? Es que no encuentro ningún ejemplo en webs ni libros que me sirva...

Muchas gracias