Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1 7 . 1 LAB: Data visualization ( 1 ) Prompt the user for a title for data. Output the title. ( 1 pt )

17.1 LAB: Data visualization
(1) Prompt the user for a title for data. Output the title. (1 pt)
Ex:
Enter a title for the data:
Number of Novels Authored
You entered: Number of Novels Authored
(2) Prompt the user for the headers of two columns of a table. Output the column headers. (1 pt)
Ex:
Enter the column 1 header:
Author name
You entered: Author name
Enter the column 2 header:
Number of novels
You entered: Number of novels
(3) Prompt the user for data points. Data points must be in this format: string, int. Store the information before the comma into a string
variable and the information after the comma into an integer. The user will enter -1 when they have finished entering data points. Output
the data points. Store the string components of the data points in an ArrayList of strings. Store the integer components of the data points in
a second ArrayList of integers. (4 pts)
Ex:
Enter a data point (-1 to stop input):
Jane Austen, 6
Data string: Jane Austen
Data integer: 6
(4) Perform error checking for the data point entries. If any of the following errors occurs, output the appropriate error message and prompt
again for a valid data point.
If entry has no comma
Output: Error: No comma in string. (1 pt)
If entry has more than one comma
Output: Error: Too many commas in input. (1 pt)
If entry after the comma is not an integer
Output: Error: Comma not followed by an integer. (2 pts)
Ex:
Enter a data point (-1 to stop input) :
Ernest Hemingway 9
Error: No comma in string.
Enter a data point (-1 to stop input):
Ernest, Hemingway, 9
Error: Too many commas in input.
Enter a data point (-1 to stop input):
Ernest Hemingway, nine
Error: Comma not followed by an integer.
Enter a data point (-1 to stop input):
Ernest Hemingway, 9
Data string: Ernest Hemingway
Data integer: 9
(5) Output the information in a formatted table. The title is right justified with a minimum of 33 characters. Column 1 is left justified with a
minimum of 20 characters. Column 2 is right justified with a minimum of 23 characters. (3 pts)
Ex:import java.util.Scanner;
import java.util.ArrayList;
import java.util.PrintStream;
import java.io.ByteArrayOutputStream;
public class DataVisualizer {
private final String title;
private final String authorNameColumn;
private final String numNovelsIsColumn;
private final ArrayList dataPoints;
public DataVisualizer(String t, String h1, String h2)
Public static void main(String[] args){
String author;
String[] dataArray;
boolean done = false;
String input;
Int novelQty;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a title for the data:");
String title = scanner.nextLine();
System.out.println("you entered: "+ title +"
");
System.out.println("Enter the column 1 header:");
String c1Header = scanner.nextLine();
System.out.println("you entered: "+ c1Header +"
");
System.out.println("Enter the column 2 header:");
String c2Header = scanner.nextLine();
System.out.println("you entered: "+ c2Header +"
");
DataVisualizer dv = new DataVisualizer(title, c1Header, c2Header);
do {
System.out.println("Enter a data point (-1 to stop input):")
input = scanner.nextLine();
if (input.equals("-1)){
done = true:
} else {
try {
if (!input.contains(","))
throw new Exception ("Error: no comma in string.
");
if (input.lastIndexOf(",")> input.indexOf(","))
throw me Exception ("Error: Too many commas in input.
");
dataArray = input.split(",");
author = dataArray[0].trim();
novelQTy = Interger.parseInt(dataArray[1].trim());
System.out.println("Data string: "+ author);
System.out.println("Data integer: "+ novelQty +"
")
da.dataPoints.add(new DataPoint(author, novelQty));
} catch (NumberFormatException nfe){
System.out.println("Error: Comma not followed by an integer.
");
} catch (Execption e){
System.out.println(e.getMessage());
}
}
} while (!done);
System.out.println(dv);
private void printTable(){
System.out.printf("
%33s
", title);
System.out.printf("%-20s|%23s
", authorNameColumn, numNovelsColumn);
System.out.println("-------------------");
for (DataPoint d : dataPoints){
System.out.printf("%-20s|%23s
", d.author, d,novelQty);
}
}
/* Type your code here. */
}
}
private void printHistogram(){
for (DataPoint d : dataPoints){
System.out.printf("%20s ", d.author);
for (int i =0; i d.novelQty; i++){
System.out.print("*");
can anyone help me fix my errors
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Accounting And Auditing Research And Databases Practitioner's Desk Reference

Authors: Thomas R. Weirich, Natalie Tatiana Churyk, Thomas C. Pearson

1st Edition

1118334426, 978-1118334423

More Books

Students also viewed these Databases questions

Question

23. Explain the differences between an SSD and a magnetic disk.

Answered: 1 week ago