Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Current Trends In Database Technology Edbt 2006 Edbt 2006 Workshops Phd Datax Iidb Iiha Icsnw Qlqp Pim Parma And Reactivity On The Web Munich Germany March 2006 Revised Selected Papers Lncs 4254

Authors: Torsten Grust ,Hagen Hopfner ,Arantza Illarramendi ,Stefan Jablonski ,Marco Mesiti ,Sascha Muller ,Paula-Lavinia Patranjan ,Kai-Uwe Sattler ,Myra Spiliopoulou ,Jef Wijsen

2006th Edition

3540467882, 978-3540467885

More Books

Students also viewed these Databases questions

Question

2. The model is credible to the trainees.

Answered: 1 week ago