In: Computer Science
6.6 Parsing strings (Java)
(1) Prompt the user for a string that contains two strings separated by a comma. (1 pt)
Ex:
Enter input string: Jill, Allen
(2) Report an error if the input string does not contain a comma. Continue to prompt until a valid string is entered. Note: If the input contains a comma, then assume that the input also contains two strings. (2 pts)
Ex:
Enter input string: Jill Allen
Error: No comma in string
Enter input string: Jill, Allen
(3) Extract the two words from the input string and remove any spaces. Store the strings in two separate variables and output the strings. (2 pts)
Ex:
Enter input string: Jill, Allen
First word: Jill
Second word: Allen
(4) Using a loop, extend the program to handle multiple lines of input. Continue until the user enters q to quit. (2 pts)
Ex:
Enter input string: Jill, Allen
First word: Jill
Second word: Allen
Enter input string: Golden , Monkey
First word: Golden
Second word: Monkey
Enter input string: Washington,DC
First word: Washington
Second word: DC
Enter input string: q
********must use this as part of the solution:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
/* Type your code here. */
Scanner scnr = new Scanner(System.in);
String lineString = "";
String firstName;
String lastName;
boolean inputDone;
System.out.println("Enter input string: ");
lineString = scnr.nextLine();
while (lineString.indexOf(',') == -1){
System.out.println("Error: No comma in string");
System.out.println("Enter input string: ");
lineString = scnr.nextLine();
inSS = new Scanner(userInfo); // Parse name and age values from string firstName = inSS.next(); lastName = inSS.next();
}
return;
}
In case of any query do comment. Please rate answer as well. Thanks
Code:
import java.util.Scanner;
public class ParseStrings {
public static void main(String[] args) {
/* Type your code here. */
Scanner scnr = new Scanner(System.in);
String lineString = "";
String firstName;
String lastName;
String[] names;
//infinite loop to ask till enter q
while(true)
{
System.out.print("Enter input string: ");
lineString = scnr.nextLine();
//if q is entered then exit
if (lineString.charAt(0) == 'q')
break;
//if comma is present then process it otherwise ask till comma is not entered
while (lineString.indexOf(',') == -1){
System.out.println("Error: No comma in string");
System.out.print("Enter input string: ");
lineString = scnr.nextLine();
}
// Parse first name and last values from string
names = lineString.split(",");
firstName = names[0].trim();
lastName = names[1].trim();
//display the First and last name
System.out.println("First word: " + firstName);
System.out.println("Second word: " + lastName);
}
return;
}
}
==============Screen shot of the code===
Output: