Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Complete the class Vocab which has an arraylist of strings as an instance variab

ID: 3929965 • Letter: C

Question

Complete the class Vocab which has an arraylist of strings as an instance variable and methods to act on the array list. Call the instance variable words

Provide a constructor that takes a ArrayList as a parameter and assigns it to the instance variable

Provide methods:

longest() gets the longest word or null if the array list is empty

averageLength() gets the average length of the words in the array list or 0 if the arraylist is empty

remove(String target) removes all occurrence of the given word

toString() returns a string representation of this Vocab object (already done for you)

Note: There is a second version of the remove method that will be helpf ul: to remove a specific object named target

words.remove(target);

Provide Javadoc

VocabTester.java

/**
* Models a list of vocabulary words
*/
public class Vocab
{


@Override
public String toString()
{
return words.toString();
}
}

Explanation / Answer

Please follow the code and comments for description :

CODE :

VocabTester.java :

import java.util.ArrayList; // required imports

public class VocabTester { // calss to run the code

public static void main(String[] args) { // driver method
ArrayList theList = new ArrayList<>(); // creating a list to save the data
Vocab empty = new Vocab(theList);// creating a object and passing the list to the class
System.out.println("Initial List is : "+empty); // print the initial status of the list
  
theList.add("polymorphism"); // add data to the list
theList.add("interface");
theList.add("encapsulation");
theList.add("interface");
theList.add("object-oriented");
theList.add("java");
theList.add("programming");

Vocab vocab = new Vocab(theList); // create an object for the class to be used here
vocab.remove("interface"); // calling the method to remove the string from the list
System.out.println("The Resultant List After Removing the Desired String is : "+vocab); // print the result to console
System.out.println("The Longest String for the List Given is : "+vocab.longest()); // calling the method to get the longest string of the list
System.out.println("The Average Length of the List Entered is : "+vocab.averageLength()); // calling the method to return the average length of the list
}
}


Vocab.java :

import java.util.ArrayList;

public class Vocab { // class to run the code

ArrayList<String> words = new ArrayList(); // instnace variables of the data

Vocab(ArrayList theList) { // parameterised constructor
words = theList; // getting the data to the varaible
}

void remove(String name) { // method to remove the string entered
for ( int i = 0; i < words.size(); i++){ // iterating ove tthe loop to check for the string
String tempName = words.get(i); // getting the index value
if(tempName.equals(name)) { // checking for the string in the index
words.remove(i); // if correct removing the string data
}
}
}

String longest() { // method to return the largest or the longest string
int largestString = words.get(0).length(); // required iniitialisations
int index = 0;

if (words.isEmpty()) { // checking for the null characters in the list
return "NULL";
}
for (int i = 0; i < words.size(); i++) { // iterating over the loop to get the data

if (words.get(i).length() > largestString) { // checking for the length of the each string data
largestString = words.get(i).length();
index = i; // getting the index values
}
}
return words.get(index); // return the index values
}

double averageLength() { // method to return the avrage length of the list

if (words.isEmpty()) { // checking for the null characters in the list
return 0;
}

int length = 0, count = 0;
for (String str : words) { // getting the string data
count++; //increment the count
length = length + str.length(); // gwtting the length summed up
}
length = length + words.size() - 1; // saving the data to a variable
return (length / count); // return the average length
}

@Override
public String toString() { // method to return the string of the list
return words.toString();
}
}


OUTPUT :


Initial List is : []
The Resultant List After Removing the Desired String is : [polymorphism, encapsulation, object-oriented, java, programming]
The Longest String for the List Given is : object-oriented
The Average Length of the List Entered is : 11.0


Hope this is helpful.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote