Assignment 11

Due Friday, May 22 at 11:59pm on Canvas


Important: To receive credit, you must only use concepts and methods taught in class to complete these assignments - or you will receive a 0


Pair Programming Required (or You Will Receive a 0)
  • Both partners fill in, sign, date, and submit the pair programming contract
  • Upload the document(s) along with your assignment code to Canvas.
  • No extra credit if you do not submit the contract along with your code to Canvas
  • Please make sure both your names are on your file (hint: use a comment).
  • If you need help finding a partner, please contact me as soon as possible.

Assignment 11: New Password (10 pts)

  • In this assignment, you will write a short program to allow a user to create a new password, and then login with this password.
  • You will need to use both if-else and for loops.
  • The program will begin by prompting the user to enter a new password. The program will then ask the user to confirm the password.
  • From there, one of several possible scenarios will occur.
     1. The second password the user types does not match the first:
    • In this case, allow the user one more try by asking them to confirm the password again
Enter your new password: abc123
Enter your new password again: abc124

Sorry! Those passwords don't match.
Please try again

Enter your new password again: abc123

Password confirmed. Logging out...

    • Should the user type the password incorrectly twice, the program should exit.  
Enter your new password: abc123
Enter your new password again: abc124

Sorry! Those passwords don't match.
Please try again

Enter your new password again: abc124
Sorry! Those passwords don't match.

Goodbye!


    2. The second password matches the first (either on the first or second attempt):
  • In this case, log the user out, and then ask the user to login using their new password
Enter your new password: abc123
Enter your new password again: abc123

Password confirmed. Logging out...

Enter your password:

  • Give the user exactly 5 tries to type in their new password correctly (use a for loop) - reporting the number of tries remaining, for each attempt:
  • Should the user type the password correctly within the 5 tries, log the user in
Password confirmed. Logging out...

Enter your password: abc124
Invalid password. You have 5 more tries.

Enter your password: abc125
Invalid password. You have 4 more tries.

Enter your password: abc123

Welcome! You are now logged in.

  • Otherwise, should the user not type the password correctly within 5 tries, exit the program.
Password confirmed. Logging out...

Enter your password: ab
Invalid password. You have 4 more tries.

Enter your password: abc
Invalid password. You have 3 more tries.

Enter your password: ab3
Invalid password. You have 2 more tries.

Enter your password: abc1
Invalid password. You have 1 more tries.

Enter your password: abc12
Invalid password. You have 0 more tries.

Goodbye!


Starter Code: Copy and paste the below starter code into a file NewPasswords.java

/**
 * @author
 * @author
 * CIS 36A
 */
import java.util.Scanner;

public class NewPasswords {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String password;
        String passwordConfirm;
        final int MAX_TRIES = 5;
        System.out.print("Enter your new password: ");
        password = input.next();
       
        //fill in here
       
        if (//fill in test condition here){
            System.out.println("\nSorry! Those passwords don't match.\nPlease try again");
            //fill in here
        }
       
        if (password.equals(passwordConfirm)) {
            System.out.println("\nPassword confirmed. Logging out...\n");
            for (//fill in here... hint count DOWN) {
                System.out.print("Enter your password: ");
                //fill in here
                if (//fill in here)) {
                    System.out.println("\nWelcome! You are now logged in.");
                    i = 0; //What does this line do? Make sure you understand
                } else {
                    System.out.print("Invalid password.);
                    //fill in here
                }
            }
           
        } else {
            System.out.print("Sorry! Those passwords don't match.");
        }
       
        System.out.println("\nGoodbye!");

        input.close();

    }
}

  • Fill in the missing parts of the starter code where the comments indicate
  • When your program works identically to the sample output below, submit it to Canvas.

Sample Output:

Enter your new password: abc123
Enter your new password again: abc123

Password confirmed. Logging out...

Enter your password: abc123

Welcome! You are now logged in.

Goodbye!

Sample Output:

Enter your new password: abc123
Enter your new password again: abc124

Sorry! Those passwords don't match.
Please try again

Enter your new password again: abc123

Password confirmed. Logging out...

Enter your password: abc124
Invalid password. You have 4 more tries.

Enter your password: abc1265
Invalid password. You have 3 more tries.

Enter your password: abc124
Invalid password. You have 2 more tries.

Enter your password: abc12
Invalid password. You have 1 more tries.

Enter your password: abc123

Welcome! You are now logged in.

Goodbye!



Sample Output:

Enter your new password: abc123
Enter your new password again: abc124

Sorry! Those passwords don't match.
Please try again

Enter your new password again: abc124
Sorry! Those passwords don't match.

Goodbye!



Sample Output:

Enter your new password: abc123
Enter your new password again: abc123

Password confirmed. Logging out...

Enter your password: abc124
Invalid password. You have 4 more tries.

Enter your password: abc125
Invalid password. You have 3 more tries.

Enter your password: abc
Invalid password. You have 2 more tries.

Enter your password: abc1
Invalid password. You have 1 more tries.

Enter your password: abc12
Invalid password. You have 0 more tries.

Goodbye!