1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Katena32 [7]
3 years ago
13

This question involves the creation of user names for an online system. A user name is created based on a user’s first and last

names. A new user name cannot be a duplicate of a user name already assigned. You will write the constructor and one method of the UserName class. A partial declaration of the UserName class is shown below.
public class UserName

{

// The list of possible user names, based on a user’s first and last names and initialized by the constructor.

private ArrayList possibleNames;



/** Constructs a UserName object as described in part (a).

* Precondition: firstName and lastName have length greater than 0

* and contain only uppercase and lowercase letters.

*/

public UserName(String firstName, String lastName)

{ /* to be implemented in part (a) */ }



/** Returns true if arr contains name, and false otherwise. */

public boolean isUsed(String name, String[] arr)

{ /* implementation not shown */ }



/** Removes strings from possibleNames that are found in usedNames as described in part (b).

*/

public void setAvailableUserNames(String[] usedNames)

{ /* to be implemented in part (b) */ }

}

(a) Write the constructor for the UserName class. The constructor initializes and fills possibleNames with possible user names based on the firstName and lastName parameters. The possible user names are obtained by concatenating lastName with different substrings of firstName. The substrings begin with the first character of firstName and the lengths of the substrings take on all values from 1 to the length of firstName.

The following example shows the contents of possibleNames after a UserName object has been instantiated.

Example

UserName person = new UserName("john", "smith");

After the code segment has been executed, the possibleNames instance variable of person will contain the following String objects in some order.

"smithj", "smithjo", "smithjoh", "smithjohn"

Write the UserName constructor below.

/** Constructs a UserName object as described in part (a).

* Precondition: firstName and lastName have length greater than 0

* and contain only uppercase and lowercase letters.

*/

public UserName(String firstName, String lastName)

Write the UserName method setAvailableUserNames. The method removes from possibleNames all names that are found in usedNames. These represent user names that have already been assigned in the online system and are therefore unavailable.

A helper method, isUsed, has been provided. The isUsed method searches for name in arr. The method returns true if an exact match is found and returns false otherwise.

Assume that the constructor works as specified, regardless of what you wrote in part (a). You must use isUsed appropriately to receive full credit.

Complete the setAvailableUserNames method below.

/** Removes strings from possibleNames that are found in usedNames as described in part (b).

*/

public void setAvailableUserNames(String[] usedNames)
Computers and Technology
1 answer:
Evgen [1.6K]3 years ago
8 0

Answer:

See explaination

Explanation:

import java.util.*;

class UserName{

ArrayList<String> possibleNames;

UserName(String firstName, String lastName){

if(this.isValidName(firstName) && this.isValidName(lastName)){

possibleNames = new ArrayList<String>();

for(int i=1;i<firstName.length()+1;i++){

possibleNames.add(lastName+firstName.substring(0,i));

}

}else{

System.out.println("firstName and lastName must contain letters only.");

}

}

public boolean isUsed(String name, String[] arr){

for(int i=0;i<arr.length;i++){

if(name.equals(arr[i]))

return true;

}

return false;

}

public void setAvailableUserNames(String[] usedNames){

String[] names = new String[this.possibleNames.size()];

names = this.possibleNames.toArray(names);

for(int i=0;i<usedNames.length;i++){

if(isUsed(usedNames[i],names)){

int index = this.possibleNames.indexOf(usedNames[i]);

this.possibleNames.remove(index);

names = new String[this.possibleNames.size()];

names = this.possibleNames.toArray(names);

}

}

}

public boolean isValidName(String str){

if(str.length()==0) return false;

for(int i=0;i<str.length();i++){

if(str.charAt(i)<'a'||str.charAt(i)>'z' && (str.charAt(i)<'A' || str.charAt(i)>'Z'))

return false;

}

return true;

}

public static void main(String[] args) {

UserName person1 = new UserName("john","smith");

System.out.println(person1.possibleNames);

String[] used = {"harta","hartm","harty"};

UserName person2 = new UserName("mary","hart");

System.out.println("possibleNames before removing: "+person2.possibleNames);

person2.setAvailableUserNames(used);

System.out.println("possibleNames after removing: "+person2.possibleNames);

}

}

You might be interested in
What is ana absolute adress
AleksAgata [21]

Answer:

The term <u>absolute</u> distinguishes it from a relative address, which indicates a location specifying a distance from another location. <u>Absolute addresses</u> are also called real addresses and machine addresses.

Explanation:

Sorry, I'm not so good at explaining things.. I hope I kinda gave you an idea on what it is though.

8 0
4 years ago
What are the two broad categories that individual definitional techniques fall under? Check all that apply. Demonstrative defini
insens350 [35]

The two broad categories that individual definitional techniques fall under Extensional (denotative) definitions and Intentional (connotative) definitions.

<h3>What is Extensional (denotative) definitions?</h3>

These definitions are those which use more applicable information than other type of definitions. These definitions relate with the objective reality.

Thus, the correct options are C and D.

Learn more about Extensional (denotative) definitions

brainly.com/question/947482

#SPJ1

5 0
2 years ago
A(n) ___________ operating system provides process and memory management services that allow two or more tasks, jobs, or program
patriot [66]

Answer:

multitasking

Explanation:

<h2><u>Fill in the blanks</u></h2>

A<u> multitasking </u>operating system provides process and memory management services that allow two or more tasks, jobs, or programs to run simultaneously.

6 0
3 years ago
What allows files containing text, programs, graphics, numerical data and so on to be downloaded off or uploaded onto a network?
Drupady [299]

Answer:

File Transfer Protocol

Explanation:

In computer networks and data communication, the client- server network architecture is very popular, in this network architecture, bigger computers designated as servers respond to clients request for information (This could be text, programs, graphics numerical data etc.) The File Transfer Protocol shortened as FTP is the standard network protocol that allows the transfer of these files between the clients and servers.

This protocol is build for the client server achitecture and it is the protocol by which files are shared between computers  on the internet.

5 0
3 years ago
Which type of password would be considered secure
max2010maxim [7]
Try using at least one capital letter and multiple number and symbols
Example: [email protected]#3
5 0
4 years ago
Read 2 more answers
Other questions:
  • Given that it takes 0.08 ms to travel from one track to the next of a hard drive; that the arm is originally positioned at Track
    6·1 answer
  • How many words fit on a double-spaced page?
    11·1 answer
  • The sun is a type of what?
    9·1 answer
  • Tests that replace_punctuation() replaces 1 exclamation point and 2 semicolons in "we'll continue our quest in space. there will
    14·1 answer
  • ou have a company network that is connected to the internet. You want all users to have internet access, but you need to protect
    13·1 answer
  • I need help ASAP please and thank you!
    14·1 answer
  • You and a friend have just started a small business. How could you use the Internet to make your business successful?
    15·2 answers
  • Which computer language uses short words known as mnemonics for writing programs?
    14·1 answer
  • True or False: Cookies placed on a visitor's browser can include enough information to instruct an ad network which types of pro
    11·1 answer
  • you are pairing a bluetooth headset to a mobile device. on the device, after finding the device for pairing, what is the next st
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!