STAGE 1: Histogram.java (Number histogram) Design and implement an application t
ID: 3906757 • Letter: S
Question
STAGE 1: Histogram.java (Number histogram) Design and implement an application that creates a histogram that allows you to visually inspect the frequency distribution of a set of values. The program should generate an arbitrary number of integers that are in range 1 to 100 inclusive; then produce a chart similar to the one below that indicates how many input values fell in range 1 to 10. 11 to 20, and so on. Print one asterisk for every five values in each category. Ignore leftovers. For example, if a category had 17 values, print three asterisks in that row Ifa category had 4 values, do not print any asterisks in that row Sample output:Explanation / Answer
ScreenShot
-----------------------------------------------------------------------------
Program
//Package to generate random number
import java.util.Random;
public class Histogram {
public static void main(String[] args) {
//Initialize random object
Random r = new Random();
//Set range of values
int Low = 1;
int High = 101;
//Variable for count the occurence and number of *
int range0=0,range1=0,range2=0,range3=0,range4=0,range5=0,range6=0,range7=0,range8=0,range9=0,divVal=0;
/*The list of numbers 1=100 and count of range occurence*/
System.out.println("The generated List");
System.out.println();
for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
int Result = r.nextInt(High-Low) + Low;
if(Result>0 && Result<=10) {
range0+=1;
}
else if(Result>10 && Result<=20) {
range1+=1;
}
else if(Result>20 && Result<=30) {
range2+=1;
}
else if(Result>30 && Result<=40) {
range3+=1;
}
else if(Result>40 && Result<50) {
range4+=1;
}
else if(Result>50 && Result<=60) {
range5+=1;
}
else if(Result>60 && Result<=70) {
range6+=1;
}
else if(Result>70 && Result<=80) {
range7+=1;
}
else if(Result>80 && Result<=90) {
range8+=1;
}
else if(Result>90 && Result<=100) {
range9+=1;
}
System.out.print(Result+" ");
}
System.out.println();
}
/* Frequency distribution print */
System.out.println();
System.out.println("The frequency distribution");
System.out.println();
System.out.println("range(0) : "+range0);
System.out.println("range(1) : "+range1);
System.out.println("range(2) : "+range2);
System.out.println("range(3) : "+range3);
System.out.println("range(4) : "+range4);
System.out.println("range(5) : "+range5);
System.out.println("range(6) : "+range6);
System.out.println("range(7) : "+range7);
System.out.println("range(8) : "+range8);
System.out.println("range(9) : "+range9);
/*Histogram Print */
System.out.println();
System.out.println("Histogram chart");
System.out.println();
divVal=range0/5;
String s = "";
for (int i = 0; i <divVal; i++) {
s += "*";
}
System.out.format("1 -10 | %s ",s);
divVal=range1/5;
s = "";
for (int i = 0; i <divVal; i++) {
s += "*";
}
System.out.format("11 -20 | %s ",s);
divVal=range2/5;
s = "";
for (int i = 0; i <divVal; i++) {
s += "*";
}
System.out.format("21 -30 | %s ",s);
divVal=range3/5;
s = "";
for (int i = 0; i < divVal; i++) {
s += "*";
}
System.out.format("31 -40 | %s ",s);
divVal=range4/5;
s = "";
for (int i = 0; i < divVal; i++) {
s += "*";
}
System.out.format("41 -50 | %s ",s);
divVal=range5/5;
s = "";
for (int i = 0; i < divVal; i++) {
s += "*";
}
System.out.format("51 -60 | %s ",s);
divVal=range6/5;
s = "";
for (int i = 0; i < divVal; i++) {
s += "*";
}
System.out.format("61 -70 | %s ",s);
divVal=range7/5;
s = "";
for (int i = 0; i <divVal; i++) {
s += "*";
}
System.out.format("71 -80 | %s ",s);
divVal=range8/5;
s = "";
for (int i = 0; i < divVal; i++) {
s += "*";
}
System.out.format("81 -90 | %s ",s);
divVal=range9/5;
s = "";
for (int i = 0; i < divVal; i++) {
s += "*";
}
System.out.format("91 -100 | %s ",s);
}
}
----------------------------------------
Output
The generated List
46 78 13 60 12 97 68 61 96 94
33 48 11 97 22 67 30 4 90 7
62 14 36 51 34 20 82 34 14 90
78 57 17 68 74 95 73 43 39 93
28 41 2 74 15 100 42 52 57 2
43 46 21 21 72 27 10 9 25 87
77 61 91 36 6 11 60 11 4 29
100 69 69 97 95 39 5 40 2 38
36 63 27 24 12 2 24 64 78 54
80 88 64 59 23 26 4 71 85 56
The frequency distribution
range(0) : 12
range(1) : 11
range(2) : 13
range(3) : 10
range(4) : 7
range(5) : 9
range(6) : 11
range(7) : 10
range(8) : 6
range(9) : 11
Histogram chart
1 -10 | **
11 -20 | **
21 -30 | **
31 -40 | **
41 -50 | *
51 -60 | *
61 -70 | **
71 -80 | **
81 -90 | *
91 -100 | **
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.