Basic Password Verifier
Please support our Java advertiser: Programming Forums
![]() |
•
•
Posts: 2
Reputation:
Solved Threads: 0
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.
And then here is my driver class
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!
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!
•
•
Posts: 1,157
Reputation:
Solved Threads: 133
it needs to be changed to this format
but you are making it hard, you can do this
if (userPass.charAt(index) == 'c')
but you are making it hard, you can do this
if(userPass.startsWith("cool")){
return false;
} Custom Application & Software Development
www.houseshark.net
www.houseshark.net
startsWith? so "coolblahblahblah" will be true too? not sure that sounds totally secure, but yeah, the compiler error is as stated above.
I think you have misplaced the parenthesis:
This:
if (!Character(userPass.charAt(index == 'c')))
Should be:
if (!Character(userPass.charAt(index) == 'c'))
You could also try:
This:
if (!Character(userPass.charAt(index == 'c')))
Should be:
if (!Character(userPass.charAt(index) == 'c'))
You could also try:
goodSoFar = userPass.equals("cool");
return goodSoFar; There are 3 ways to do things:
The right way, the wrong way,
And The Object Oriented Way.
When you do things your way, make sure you don't forget the Object Oriented Way
The right way, the wrong way,
And The Object Oriented Way.
When you do things your way, make sure you don't forget the Object Oriented Way
•
•
Posts: 1,157
Reputation:
Solved Threads: 133
lol i don't think checking if the password contains c o o l, was too secure, thats why i made the post
Custom Application & Software Development
www.houseshark.net
www.houseshark.net
You already have the "PasswordVerifier" so you now want to use the methods within it.
PW.isValid(user)
![]() |
Other Threads in the Java Forum
- Previous Thread: getting errors in java for an assignment
- Next Thread: Sliding window protocol help
•
•
•
•
Views: 633 | Replies: 7 | Currently Viewing: 1 (0 members and 1 guests)






Linear Mode