Eve records the transmission of an RSAencrypted message The
Solution
class StringSet
{
//An instance variable of type String[]
String[] set;
//An int instance variable that indicates the number of String objects that the StringSet currently contains.
int numOfStrings;
//A no argument constructor.
public StringSet()
{
numOfStrings = 0;
set = new String[10];
}
//A mutator that adds a String newStr to the StringSet object.
void add(String newStr)
{
set[numOfStrings++] = newStr;
}
//An accessor that returns the number of String objects that have been added to this StringSet object.
int size()
{
return numOfStrings;
}
//An accessor that returns the total number of characters in all of the Strings that have been added to this StringSet object.
int numChars()
{
int sum = 0;
for(int i = 0; i < numOfStrings; i++)
sum += set[i].length();
return sum;
}
//An accessor that returns the number of Strings in the StringSet object that have exactly len characters.
int countStrings(int len)
{
int count = 0;
for(int i = 0; i < numOfStrings; i++)
if(set[i].length() == len)
count++;
return count;
}
}
And the code for StringSetTester.java is:
import java.util.*;
class StringSetTester
{
public static void main(String[] args)
{
Scanner kybd = new Scanner(System.in);
System.out.print(\"How many strings will you enter? \");
int numStr = kybd.nextInt();
kybd.nextLine();
StringSet ss = new StringSet();
for(int i = 0; i < numStr; i++)
{
System.out.print(\"Enter string \" + (i+1) + \": \");
String temp = kybd.nextLine();
ss.add(temp);
}
System.out.println(\"The size of the StringSet is: \" + ss.size());
System.out.println(\"The number of characters in StringSet is: \" + ss.numChars());
System.out.println(\"The number of strings of length 5 are: \" + ss.countStrings(5));
System.out.println(\"The number of strings of length 7 are: \" + ss.countStrings(7));
}
}

