Java Programming - How do you make histogram?

Java

1 answer

Answer

1081428

2026-04-01 10:45

+ Follow

Java
Java

taking an introductory Computer Science Class, this program that I wrote recently may help you. Basically it asks the user to input a bunch of numbers (1-100). Then, it places the numbers into categories of either 1-10,11-20,21-30, etc. Each "*" represents 5 elements. This program isn't as efficient.. but then again , it it's an introductory Computer Science Class, it'll work and at least give you a sense of direction!

/**

*Design and implement an application that reads a set of integer values in the range of 1 to 100 from the user and

then creates the chart showing how often the values appeared. The chart should look like the one shown below.

It shows how many values fell in the range from 1 to 10, 11 to 20, and so on. Print an asterisk for every five

values in each category. For example, if a category had 17 values, print three asterisks in that row. If a

category had 4 values, do not print any asterisks in that row. Be sure to include two classes StarTable and

StarTablePrgm. Feel free to make the input/output more user friendly.

*/

import Java.util.ArrayList;

import Java.util.Scanner;

//Margaret Wang creates StarTable Program

public class StarTable

{

private ArrayList<Integer> setOfInt;

//Default Constructor

public StarTable()

{

setOfInt = new ArrayList<Integer>();

}

//Method to read and add the set of integer values

public void addValues()

{

Scanner in = new Scanner(System.in);

System.out.println("Input an integer (1-100). Press enter to input it into the Array. Enter Q to stop adding: ");

String userInput = in.next();

while ( !(userInput.equalsIgnoreCase("Q")))

{

int addInt = Integer.parseInt(userInput);

setOfInt.add(addInt);

userInput = in.next();

}

}

public String printTable()

{

//counts how many numbers fit into each row

int count1 =0;

int count2=0;

int count3=0;

int count4=0;

int count5=0;

int count6=0;

int count7=0;

int count8=0;

int count9=0;

int count10=0;

//searches for the numbers that fit in the ranges

for (int i = 0; i < setOfInt.size(); i++)

{

if (setOfInt.get(i) <= 10)

{

count1++;

}

else if (setOfInt.get(i) <= 20)

{

count2++;

}

else if (setOfInt.get(i) <= 30)

{

count3++;

}

else if (setOfInt.get(i) <= 40)

{

count4++;

}

else if (setOfInt.get(i) <= 50)

{

count5++;

}

else if (setOfInt.get(i) <= 60)

{

count6++;

}

else if (setOfInt.get(i) <= 70)

{

count7++;

}

else if (setOfInt.get(i) <= 80)

{

count8++;

}

else if (setOfInt.get(i) <= 90)

{

count9++;

}

else if (setOfInt.get(i) <= 100)

{

count10++;

}

else

throw new IllegalArgumentException("You have entered an integer that cannot counted");

}

//Creates the Table

String table = "";

for (int a = 0; a < 10; a++)

{

table += a*10 + 1 + "-" + (a+1)*10 + "|";

if (a 9)

{

for (int j = 0; j < count10/5; j++ )

table += "*";

}

table += "\n";

}

return table;

}

}

ReportLike(0ShareFavorite

Copyright © 2026 eLLeNow.com All Rights Reserved.