Question: 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

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.

Code:

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(" Do 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(" Do 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]); } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!