我需要针对此登录程序的这些错误的解决方案以及添加新用户的后续代码。 非常感谢。
我需要针对此登录程序的这些错误的解决方案以及添加新用户的后续代码。 非常感谢。
我需要针对此登录程序的这些错误的解决方案以及添加新用户的后续代码。 非常感谢。
package coursework111;
import java.util.Scanner;
import java.util.Random;
/**
*
* @author mcq13065590
*/
public class Coursework111 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// This will populate the contacts array
// Case sensitive
String[] contacts = new String[10];
contacts [0] = "polyMay3378";
contacts [1] = "john1234567";
contacts [2] = "Sue22banks";
contacts [3] = "carrieOak45";
// This will populate the passwords array
// Case sensitive
String[] passwords = new String[10];
passwords[0]= "Passw123";
passwords[1]= "DoneTell4";
passwords[2]= "eASYHac3";
passwords[3]= "TPd7aqD4";
// This will populate the memData array
// Case sensitive
String[] memData = new String[10];
memData[0]= "flower23";
memData[1]= "Belfast1";
memData[2]= "Beach575";
memData[3]= "Salou567";
// variables stated
String pass;
String user;
double randomNumber1;
double randomNumber2;
double randomNumber3;
int index = 0;
boolean vaildUser = false, vaildPass = false;
// memorable data char variables
char char1, char2, char3;
boolean char1Valid = false;
boolean char2Valid = false;
boolean char3Valid = false;
// add a scanner
Scanner input = new Scanner(System.in);
// Main Menu presented to the user
System.out.println("Welcome to ");
System.out.println("1 Login ");
System.out.println("2 Add a new user ");
int choice = input.nextInt();
if(choice==1)
{
System.out.println("Please enter your username");
user = input.next();
for (int i=0; i < contacts.length; i++)
if(user.equals(contacts[i]))
{
index = i;
vaildUser = true;
}
System.out.println("Please enter your password");
pass = input.next();
for (int i=0; i < passwords.length; i++)
if(pass.equals(passwords[index]))
{
vaildPass = true;
}
// adding random char input
randomNumber1 = (int)(Math.random()*8+1);
randomNumber2 = (int)(Math.random()*8+1);
randomNumber3 = (int)(Math.random()*8+1);
System.out.println("Please enter characrer" + randomNumber1 + "from your memerable data");
char1 = input.next().charAt(0);
if(char1== memData.charAt(randomNumber1))
{
char1Valid = true;
}
System.out.println("Please enter characrer" + randomNumber2 + "from your memerable data");
char2 = input.next().charAt(0);
if(char2== memData.charAt(randomNumber2))
{
char2Valid = true;
}
System.out.println("Please enter characrer" + randomNumber3 + "from your memerable data");
char3 = input.next().charAt(0);
if(char3== memData.charAt(randomNumber3))
{
char3Valid = true;
}
if(vaildPass== true && vaildUser== true && char1Valid== true && char2Valid== true && char3Valid== true)
{
System.out.println("Welcome to SWC Bank.");
}
else{
System.out.println("Please try again.");
}
答案 0 :(得分:0)
请说明您尝试过的内容,以及下次您的期望。堆栈溢出社区是一个有用的社区,但不是代码错误查找服务。
在这种情况下,你有错误。
/*memData is a string array
* You can only use the charAt method for a string, NOT for an array.
**/
if(char1== memData.charAt(randomNumber1)) {
char1Valid = true;
}