Hey there, this is my first post here and I'm in the need of some real help.
I've written a basic password verifier, which checks to see if what you type in is the same as the default stored password, but i continually get a compile error.
import java.util.Scanner;
public class PasswordVerifier
{
public static boolean isValid(String userPass)
{
/**
* This is the default stored password
*/
// Password stored by default is "cool"
boolean goodSoFar = true; // Flag
int index = 0; // Loop control variable
// Is the string the correct length?
if (userPass.length() != 4)
goodSoFar = false;
// Test to see if the characters match the password
while (goodSoFar && index < 4)
{
if (!Character(userPass.charAt(index == 'c')))
goodSoFar = false;
index++;
if (!Character(userPass.charAt(index == 'o')))
goodSoFar = false;
index++;
if (!Character(userPass.charAt(index == 'o')))
goodSoFar = false;
index++;
if (!Character(userPass.charAt(index == 'l')))
goodSoFar = false;there
index++;
//results are returned
return goodSoFar;
}
}
}
And then here is my driver class
import java.util.Scanner;
public class PasswordDriver
{
public static void main(String[] args)
{
PasswordVerifier PW = new PasswordVerifier();
String user; // To hold a user pass
while(user != "")
{
System.out.println("Please enter a password containing letters and lowercase only, or nothing to end");
//create a scanner object
Scanner keyboard = new Scanner(System.in);
//get user pass
user = keyboard.nextLine();
//Determine if the password is valid.
if (PW(user))
{
System.out.println("That is a valid password");
}
else
{
System.out.println("That is not the proper password or format");
System.out.println("Here is an example: cool");
}
}
}
}
The error i get when I'm compiling is
PasswordVerifier.java:30: charAt(int) in java.lang.String cannot be applied to (boolean)
if (!Character(userPass.charAt(index == 'c')))
^
PasswordVerifier.java:33: charAt(int) in java.lang.String cannot be applied to (boolean)
if (!Character(userPass.charAt(index == 'o')))
^
PasswordVerifier.java:36: charAt(int) in java.lang.String cannot be applied to (boolean)
if (!Character(userPass.charAt(index == 'o')))
^
PasswordVerifier.java:39: charAt(int) in java.lang.String cannot be applied to (boolean)
if (!Character(userPass.charAt(index == 'l')))
could someone please help me out, i've tried multiple variances and fixes, but alas... none work for me. Thanks everyone!