Modify the CategorizeStrings application to divide the entered Strings into those that contain no spaces, one space, or more. After data entry is complete, continuously prompt the user to enter the type of String to display: O for one word Strings, T for two word Strings, and L for longer Strings. If the user does not enter one of the three valid choices, display all of the Strings. Allow the user to enter ZZZ to quit. import java.util.*; public class CategorizeStrings2 { // Modify the code below public static void main (String[] args) { final int MAX = 20; final int CUTOFF = 10; final String QUIT = "ZZZ"; String entry; int shortSub = 0; int longSub = 0; Scanner input = new Scanner(System.in); String[] longStrings = new String[MAX]; String[] shortStrings = new String[MAX]; System.out.print("Enter a string or " + QUIT + " to quit >> "); entry = input.nextLine(); while(!entry.equals(QUIT) && (shortSub + longSub < MAX)) { if(entry.length() <= CUTOFF) { shortStrings[shortSub] = entry; ++shortSub; } else { longStrings[longSub] = entry; ++longSub; } if(shortSub + longSub < MAX) { System.out.print("Enter a string or " + QUIT + " to quit >> "); entry = input.nextLine(); } } System.out.println("\nDo you want to see the list of short strings or the list of long strings?"); System.out.print(" Please enter S or L or " + QUIT + " to quit >> "); entry = input.nextLine(); while(!entry.equals(QUIT)) { if(entry.substring(0, 1).toLowerCase().equals("s")) display(shortStrings, shortSub); else display(longStrings, longSub); System.out.println("\nDo you want to see the list of short strings or the list of long strings?"); System.out.print(" Please enter S or L or " + QUIT + " to quit >> "); entry = input.nextLine(); } } public static void display(String[] array, int max) { System.out.println(); if(max == 0) System.out.println("The list is empty"); else for(int x = 0; x < max; ++x) System.out.println(array[x]); } }
Modify the CategorizeStrings application to divide the entered Strings into those that contain no spaces, one space, or more. After data entry is complete, continuously prompt the user to enter the type of String to display: O for one word Strings, T for two word Strings, and L for longer Strings. If the user does not enter one of the three valid choices, display all of the Strings. Allow the user to enter ZZZ to quit.
import java.util.*;
public class CategorizeStrings2
{
// Modify the code below
public static void main (String[] args)
{
final int MAX = 20;
final int CUTOFF = 10;
final String QUIT = "ZZZ";
String entry;
int shortSub = 0;
int longSub = 0;
Scanner input = new Scanner(System.in);
String[] longStrings = new String[MAX];
String[] shortStrings = new String[MAX];
System.out.print("Enter a string or " +
QUIT + " to quit >> ");
entry = input.nextLine();
while(!entry.equals(QUIT) && (shortSub + longSub < MAX))
{
if(entry.length() <= CUTOFF)
{
shortStrings[shortSub] = entry;
++shortSub;
}
else
{
longStrings[longSub] = entry;
++longSub;
}
if(shortSub + longSub < MAX)
{
System.out.print("Enter a string or " +
QUIT + " to quit >> ");
entry = input.nextLine();
}
}
System.out.println("\nDo you want to see the list of short strings or the list of long strings?");
System.out.print(" Please enter S or L or " +
QUIT + " to quit >> ");
entry = input.nextLine();
while(!entry.equals(QUIT))
{
if(entry.substring(0, 1).toLowerCase().equals("s"))
display(shortStrings, shortSub);
else
display(longStrings, longSub);
System.out.println("\nDo you want to see the list of short strings or the list of long strings?");
System.out.print(" Please enter S or L or " +
QUIT + " to quit >> ");
entry = input.nextLine();
}
}
public static void display(String[] array, int max)
{
System.out.println();
if(max == 0)
System.out.println("The list is empty");
else
for(int x = 0; x < max; ++x)
System.out.println(array[x]);
}
}
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 3 images