Write a class Name that stores a person’s first, middle, and last names and prov
ID: 3668677 • Letter: W
Question
Write a class Name that stores a person’s first, middle, and last names and provides the following methods: public Name(String first, String middle, String last)—constructor. The name should be stored in the case given; don’t convert to all upper or lower case. public String getFirst()—returns the first name public String getMiddle()—returns the middle name public String getLast()—returns the last name public String firstMiddleLast()—returns a string containing the person’s full name in order, e.g., “Mary Jane Smith”. public String lastFirstMiddle()—returns a string containing the person’s full name with the last name first followed by a comma, e.g., “Smith, Mary Jane”. public boolean equals(Name otherName)—returns true if this name is the same as otherName. Comparisons should not be case sensitive. (Hint: There is a String method equalsIgnoreCase that is just like the String method equals except it does not consider case in doing its comparison.) public String initials()—returns the person’s initials (a 3-character string). The initials should be all in upper case, regardless of what case the name was entered in. (Hint: Instead of using charAt, use the substring method of String to get a string containing only the first letter—then you can upcase this one-letter string. See Figure 3.1 in the text for a description of the substring method.) public int length()—returns the total number of characters in the full name, not including spaces. 2. Now write a program TestNames.java that prompts for and reads in two names from the user (you’ll need first, middle, and last for each), creates a Name object for each, and uses the methods of the Name class to do the following: a. For each name, print first-middle-last version last-first-middle version initials length b. Tell whether or not the names are the same.
Explanation / Answer
import java.util.Scanner;
public class Name {
String first,middle,last;
public Name(String first, String middle, String last)
{
this.first=first;
this.middle=middle;
this.last=last;
}
public String getFirst()
{
return first;
}
public String getMiddle()
{
return middle;
}
public String getLast()
{
return last;
}
public String firstMiddleLast()
{
return first+" "+middle+" "+last;
}
public String lastFirstMiddle()
{
return last+","+first+" "+middle;
}
public boolean equals(Name otherName)
{
if(this.first==otherName.first&&this.middle==otherName.middle&&this.last==otherName.last)
{
return true;
}
else
{
return false;
}
}
public String initials()
{
return first.substring(0,3).toUpperCase();
}
public int length()
{
return first.length()+middle.length()+last.length();
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String fname1,mname1,lname1;
String fname2,mname2,lname2;
fname1=sc.next();
mname1=sc.next();
lname1=sc.next();
fname2=sc.next();
mname2=sc.next();
lname2=sc.next();
Name name1=new Name(fname1, mname1, lname1);
Name name2=new Name(fname2, mname2, lname2);
System.out.println(name1.firstMiddleLast());
System.out.println(name2.firstMiddleLast());
System.out.println(name1.lastFirstMiddle());
System.out.println(name2.lastFirstMiddle());
System.out.println("Length is "+name1.length());
System.out.println(name1.equals(name2));
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.