Write an application that accepts up to 20 Strings, or fewer if the user enters the terminating value ZZZ. Store each String in one of two lists—one list for short Strings that are 10 characters or fewer and another list for long Strings that are 11 characters or more. After data entry is complete, prompt the user to enter which type of String to display, and then output the correct list.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

This is the question I am stuck on -

Write an application that accepts up to 20 Strings, or fewer if the user enters the terminating value ZZZ. Store each String in one of two lists—one list for short Strings that are 10 characters or fewer and another list for long Strings that are 11 characters or more. After data entry is complete, prompt the user to enter which type of String to display, and then output the correct list.

For this exercise, you can assume that if the user does not request the list of short strings, the user wants the list of long strings. If a requested list has no Strings, output The list is empty. Prompt the user continuously until a sentinel value, ZZZ, is entered.

This is the code I have but I am not getting any checks correct with it -

import java.util.Scanner;

public class CategorizeStrings {

public static void main(String[] args) {

int SIZE = 20;

String[] sStrings = new String[SIZE];

String[] lStrings = new String[SIZE];

String s;

int sCounter = 0, lCounter = 0;

Scanner sc = new Scanner(System.in);

for (int i = 0; i < SIZE; i++) {

System.out.print("Enter a string : ");

s = sc.nextLine();

if (s.equalsIgnoreCase("zzz")) { // checking for sentinal value

break;

} else {

if (s.length() <= 10) // if short string

sStrings[sCounter++] = s;

else // if long string

lStrings[lCounter++] = s;

}

} // end of for

System.out.println("\n\n1.Display Short strings\n2.Display Long Strings\nEnter choice : ");

int choice = sc.nextInt();

if (choice == 1) {

if (sCounter == 0) {

System.out.println("The list is empty");

} else {

for (int i = 0; i < sCounter; i++) {

System.out.println(sStrings[i]);

}

}

} else if (choice == 2) {

if (lCounter == 0) {

System.out.println("The list is empty");

} else {

for (int i = 0; i < lCounter; i++) {

System.out.println(lStrings[i]);

}

}

} else {

System.out.println("Invalid Choice");

}

}

}
 
Here is an example of one of the checks I a,m gettign wrong -
Test Case Incomplete

Categorize Strings A B C D, 3 idioms

Input
A
B
C
D
A penny for your thoughts
Barking up the wrong tree
Curiosity killed the cat
ZZZ
S
ZZZ
Output
Enter a string : A
Enter a string : B
Enter a string : C
Enter a string : D
Enter a string : A penny for your thoughts
Enter a string : Barking up the wrong tree
Enter a string : Curiosity killed the cat
Enter a string : ZZZ
1.Display Short strings
2.Display Long Strings
Enter choice :
S
Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:864) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at CategorizeStrings.main(CategorizeStrings.java:45)
ZZZ
 
Results(all are marked in red for being wrong/incorrect)
A
B
C
D
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Basics of loop
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education