Question
The following is the problem: Write an application that allows a user to enter the names and birthdays of up to 10 friends. Continue to
The following is the problem:
Write an application that allows a user to enter the names and birthdays of up to 10 friends. Continue to prompt the user for names and birthdates until the user enters the sentinel value ZZZ for a name or has entered 10 names, whichever comes first. When the user is finished entering names, produce a count of how many names were entered, and then display the names. In a loop, continuously ask the user to type one of the names and display the corresponding birthdate or an error message if the name has not been previously entered. The loop continues until the user enters ZZZ for a name. Save the file as BirthdayReminder.java.
This is what I have so far:
import java.util.*;
public class BirthdayReminder
{
public static void main(String[] args)
{
final int NUM_NAMES = 10;
String sentinal = "ZZZ";
int count = 0;
String name = null;
String birthdate = null;
String[] names = new String[NUM_NAMES];
String[] birthdates = new String[NUM_NAMES];
Scanner input = new Scanner(System.in);
System.out.println("Enter a name or " + sentinal + " to quit > ");
name = input.nextLine();
while(name != sentinal && count < NUM_NAMES)
{
System.out.println("Enter birthdate (mm/dd) > ");
birthdate = input.nextLine();
names[count] = name;
birthdates[count] = birthdate;
System.out.println("Enter a name or " + sentinal + " to quit > ");
name = input.nextLine();
++ count;
}
System.out.print(" Count of names is " + count);
boolean repeat = true;
boolean found = false;
while(repeat)
{
System.out.println("Enter birthdate (mm/dd) > ");
birthdate = input.nextLine();
if(name == sentinal)
repeat = false;
else
{
for(int x = 0; x < count && found; ++x)
{
if(names[x] == (name))
{
found =true;
birthdate = birthdates[x];
}
}
if(found)
System.out.println("Birthdate of " + name + " is " + birthdate);
else
System.out.println("Birthdate of " + name + "is not found");
}
found = false;
}
}
}
The issue is that whenever I type "ZZZ" it does not end like it is suppose to. Can you identify what I am missing?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started