Question

In: Computer Science

A Java question. Write the class Staff. It contains methods that manipulate an ArrayList of Strings...

A Java question. Write the class Staff. It contains methods that manipulate an ArrayList of Strings representing the names of staff members. The constructor takes an ArrayList of String names as a parameter. In addition to the constructor, you need to implement the following methods

The methods

1. public boolean equals(Staff other) - Determines if the other Staff contains all the same elements in the same order as this Staff
2. public boolean sameContents(Staff other) - Determines if the other Staff and this Staff contain exactly the same elements but in any order
3. public void replaceVowelsWith(String text) Replaces each vowel in every ArrayList element with the replacement value text. Assume the vowels are aeiouyAEIOUY
4. public String mostVowels() Gets the staff member whose name has the most vowels. If more than one has that number of vowels, return the first. Return null if the list is empty. Assume the vowels are aeiouAEIOU
5. public String toString() gets a string represent ion using ArrayList's toString method

(set different vowel strings for both of aeiouyAEIOUY and aeiouAEIOU)

---------------------------------------------------------------------------------------------------------------------

Use the following file:

StaffTester.java

import java.util.ArrayList;
/**
 * Tester
 */
public class StaffTester
{
    public static void main(String[] args)
    {
        ArrayList list = new ArrayList<>();
        list.add("Goodyear");
        list.add("Sathyanantha");
        list.add("Keomahavong");
        list.add("Addison");
        list.add("Smith");
        
        ArrayList list2 = new ArrayList<>();
        list2.add("^aeiouy$");
        list2.add("^AEIOUY$");
        
        
        Staff lister = new Staff(list);
        Staff lister2 = new Staff(list2);
        Staff empty = new Staff(new ArrayList()); //test an empty list
        
        
        lister.replaceVowelsWith("*");
        System.out.println(lister);
        System.out.println("Expected: [G**d***r, S*th**n*nth*, K**m*h*v*ng, *dd*s*n, Sm*th]");
        
        lister2.replaceVowelsWith("#");
        System.out.println(lister2);
        System.out.println("Expected: [^######$, ^######$]");
        
        empty.replaceVowelsWith("*");
        System.out.println(empty);
        System.out.println("Expected: []");

        
        //testing equals
        list.clear();
        list.add("Goodyear");
        list.add("Sathyanantha");
        list.add("Keomahavong");
        list.add("Addison");
        list.add("Smith");
        lister = new Staff(list);
        
        list2.clear();
        list2.add("Goodyear");
        list2.add("Sathyanantha");
        list2.add("Keomahavong");
        list2.add("Addison");
        list2.add("Smith");
        lister2 = new Staff(list2);
        
        System.out.println("equal?: " + lister.equals(lister2));
        System.out.println("Expected: true");

        
        list2.remove(list2.size() - 1);
        System.out.println("equal?: " + lister.equals(lister2));
        System.out.println("Expected: false");
        
        System.out.println("contains?: " + lister.sameContents(lister2));
        System.out.println("Expected: false");
        
        list2.add(1, "Smith");
        System.out.println("contains?: " + lister.sameContents(lister2));
        System.out.println("Expected: true");

        
        list2.set(1, "smith");
        System.out.println("equal?: " + lister.equals(lister2));
        System.out.println("Expected: false");
        
        System.out.println("equal?: " + empty.equals(empty));
        System.out.println("Expected: true");
        
        System.out.println(lister.mostVowels());
        System.out.println("Expected: Keomahavong");
        
        list.remove(2);
        System.out.println(lister.mostVowels());
        System.out.println("Expected: Goodyear");
        
        System.out.println(empty.mostVowels());
        System.out.println("Expected: null");
        
    }
    
}

Solutions

Expert Solution

import java.util.ArrayList;
/**
* Tester
*/

class Staff
{
ArrayList list;

Staff(ArrayList list)
{
this.list=list;
}

public boolean equals(Staff other)
{
if(list.size()==other.list.size())
for(int i=0; i<list.size();i++)
{
if(!list.get(i).equals(other.list.get(i)))
return false;

}
else return false;
  
return true;
}
public boolean sameContents(Staff other)
{
boolean f=false;
if(list.size()!=other.list.size()) return false;
for(int i=0; i<list.size();i++)
{
f=false;
for(int j=0; j<list.size();j++)
{   
if(list.get(i).equals(other.list.get(j)))
{
f=true;
break;
}
}
if(!f) return false;

}
  
return true;

}
public String toString()
{
String s="[";
for(int i=0; i<list.size();i++)
{
if(i!=list.size()-1)
s=s+list.get(i)+", ";
else   
s=s+list.get(i);
}
s=s+"]";
return s;
}
public void replaceVowelsWith(String text)
{
String l;
for(int i=0; i<list.size();i++)
{
l=list.get(i).toString();
l=l.replaceAll("a",text);
l=l.replaceAll("e",text);
l=l.replaceAll("i",text);
l=l.replaceAll("o",text);
l=l.replaceAll("u",text);
l=l.replaceAll("y",text);

l=l.replaceAll("A",text);
l=l.replaceAll("E",text);
l=l.replaceAll("I",text);
l=l.replaceAll("O",text);
l=l.replaceAll("U",text);
l=l.replaceAll("Y",text);

list.set(i,l);



}
}

public String mostVowels()
{
  
if(list.size()==0) return "";
String l=""; int ind=0, count,h=0;
char[] Chararray;
for(int i=0; i<list.size();i++)
{
l=list.get(i).toString();
Chararray= l.toCharArray();
  
count = 0;
  
for (char ch : Chararray) {
switch (ch)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
count++;
break;
default:

}
  
}
if(count > h){
h=count; ind= i;
}

}
  
return list.get(ind).toString();
}
}
public class StaffTester
{
public static void main(String[] args)
{
ArrayList list = new ArrayList<>();
list.add("Goodyear");
list.add("Sathyanantha");
list.add("Keomahavong");
list.add("Addison");
list.add("Smith");
  
ArrayList list2 = new ArrayList<>();
list2.add("^aeiouy$");
list2.add("^AEIOUY$");
  
  
Staff lister = new Staff(list);
Staff lister2 = new Staff(list2);
Staff empty = new Staff(new ArrayList()); //test an empty list
  
  
lister.replaceVowelsWith("*");
System.out.println(lister);
System.out.println("Expected: [G**d***r, S*th**n*nth*, K**m*h*v*ng, *dd*s*n, Sm*th]");
  
lister2.replaceVowelsWith("#");
System.out.println(lister2);
System.out.println("Expected: [^######$, ^######$]");
  
empty.replaceVowelsWith("*");
System.out.println(empty);
System.out.println("Expected: []");

  
//testing equals
list.clear();
list.add("Goodyear");
list.add("Sathyanantha");
list.add("Keomahavong");
list.add("Addison");
list.add("Smith");
lister = new Staff(list);
  
list2.clear();
list2.add("Goodyear");
list2.add("Sathyanantha");
list2.add("Keomahavong");
list2.add("Addison");
list2.add("Smith");
lister2 = new Staff(list2);
  
System.out.println("equal?: " + lister.equals(lister2));
System.out.println("Expected: true");

  
list2.remove(list2.size() - 1);
System.out.println("equal?: " + lister.equals(lister2));
System.out.println("Expected: false");
  
System.out.println("contains?: " + lister.sameContents(lister2));
System.out.println("Expected: false");
  
list2.add(1, "Smith");
System.out.println("contains?: " + lister.sameContents(lister2));
System.out.println("Expected: true");

  
list2.set(1, "smith");
System.out.println("equal?: " + lister.equals(lister2));
System.out.println("Expected: false");
  
System.out.println("equal?: " + empty.equals(empty));
System.out.println("Expected: true");
  
System.out.println(lister.mostVowels());
System.out.println("Expected: Keomahavong");
  
list.remove(2);
System.out.println(lister.mostVowels());
System.out.println("Expected: Goodyear");
  
System.out.println(empty.mostVowels());
System.out.println("Expected: null");
  
  
}
  
}


Related Solutions

Java 1.Write a method removeEvenLength that takes an ArrayList of Strings as a parameter and that...
Java 1.Write a method removeEvenLength that takes an ArrayList of Strings as a parameter and that removes all of the strings of even length from the list. 2. Given the following Vehicle interface and client program in the Car class: public interface Vehicle{ public void move(); } public class Car implements Vehicle{ public static void main(String args[]) Vehicle v = new Vehicle(); // vehicle declaration } The above declaration is valid? True or False? 3. Java permits a class to...
Given two ArrayLists of Strings (ArrayList<String>), write a Java method to return the higher count of...
Given two ArrayLists of Strings (ArrayList<String>), write a Java method to return the higher count of the characters in each ArrayList.  For example, if list1 has strings (“cat, “dog”, “boat”, “elephant”) and list 2 has strings (“bat”, “mat”, “port”, “stigma”), you will return the value 18.  The list 1 has 18 characters in total for all its strings combined and list2 has 16 characters for all of its strings combined.  The higher value is 18. If the character count is the same, you...
Question 3 A java source module contains the following class with the static methods main and...
Question 3 A java source module contains the following class with the static methods main and procedure1, and the instance method procedure2 (assume given the bodies of procedure1 and procedure2): public class TestQuestion3             {                         static int result, num1 = 10;                         public static void Main( String [ ] args )                         {                                     int [ ] list1 =   { 2, 4, 6, 8, 10}, list2;                                     .    .    .                         }                         static void procedure1( void )                         {                                     .   .   .                         } void procedure2( void )...
Write a simple java class that contains the following three methods: 1. isosceles -- accepts 3...
Write a simple java class that contains the following three methods: 1. isosceles -- accepts 3 integers which represent the sides of a triangle. Returns true if the triangle is isosceles and false otherwise. 2. perimeter - accepts 3 integers that represent the sides of a triangle and returns the perimeter of the triangle. 3. area -- accepts 3 integers, which represent the sides of a triangle and calculates and returns the area of the triangle. Hint: use Heron's formula....
Write a java class for a Priority Queue. Use an arraylist, and include enque, deque, and...
Write a java class for a Priority Queue. Use an arraylist, and include enque, deque, and a method to get all the values of the queue. (This is not writing a file implementing the java class PriorityQueue, but rather you are writing a program that is a priority queue).
In Java, you can iterate an ArrayList in different ways. Write the following methods to print...
In Java, you can iterate an ArrayList in different ways. Write the following methods to print Integers in an ArrayList iterating in different ways: 1. // Using basic while / for loop void printArrayListBasicLoop(ArrayList<Integer> al); 2. // Using enhanced for loop (:) void printArrayListEnhancedLoop(ArrayList<Integer> al); 3. // Using basic for loop with iterator void printArrayListForLoopListIterator(ArrayList<Integer> al); 4. // Using basic while loop with iterator void printArrayListWhileLoopListIterator(ArrayList<Integer> al);
Using Java Write the class RecursiveProbs, with the methods listed below. Write all the methods using...
Using Java Write the class RecursiveProbs, with the methods listed below. Write all the methods using recursion, NOT LOOPS. You may use JDK String Methods like substring() and length(), but do not use the JDK methods to avoid coding algorithms assigned. For example, don’t use String.revers(). public boolean recursiveContains(char c, String s) { if (s.length() == 0) return false; if (s.charAt(s.length() - 1) == c) return true; else return recursiveContains(c, s.substring(0, s.length() - 1)); } public boolean recursiveAllCharactersSame(String s) return...
***Given a class called Student and a class called Course that contains an ArrayList of Student....
***Given a class called Student and a class called Course that contains an ArrayList of Student. Write a method called dropStudent() as described below. Refer to Student.java below to learn what methods are available.*** Course.java import java.util.*; import java.io.*; /****************************************************** * A list of students in a course *****************************************************/ public class Course{ /** collection of Students */ private ArrayList<Student> roster; /***************************************************** Constructor for objects of class Course *****************************************************/ public Course(){ roster = new ArrayList<Student>(); } /***************************************************** Remove student with the...
Write methods contains and remove for the BinarySearchTree class. Use methods find and delete to do...
Write methods contains and remove for the BinarySearchTree class. Use methods find and delete to do the work
write a java code to represent a sales class as follows: 1- The Sales class contains...
write a java code to represent a sales class as follows: 1- The Sales class contains the names of sellers (strings) and the sales/seller/day (matrix of integers). Assume the number of sellers is set dynamically by the constructor and that the sellers work 6 days/week. Example: names/days 0 1 2 3 4 5 Ali 30 5 89 71 90 9 Ahmad 15 81 51 69 78 25 Omar 85 96 7 87 41 54 The class should contain the following...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT