Generate random number histogram using java
- by Chewart
Histogram
--------------------------------------------------------
1 ****(4)
2 ******(6)
3 ***********(11)
4 *****************(17)
5 **************************(26)
6 *************************(25)
7 *******(7)
8 ***(3)
9 (0)
10 *(1)
--------------------------------------------------------
basically above is what my prgram needs to do.. im missing something somewhere any help would be great :)
import java.util.Random;
public class Histogram
{
/*This is a program to generate random number histogram between
1 and 100 and generate a table */
public static void main(String args[])
{
int [] randarray = new int [80];
Random random = new Random();
System.out.println("Histogram");
System.out.println("---------");
int i ;
for ( i = 0; i<randarray.length;i++)
{
int temp = random.nextInt(100); //random numbers up to number value 100
randarray[i] = temp;
}
int [] histo = new int [10];
for ( i = 0; i<10; i++)
{
/* %03d\t, this generates the random numbers to
three decimal places so the numbers are generated
with a full number or number with 00's or one 0*/
if (randarray[i] <= 10) {
histo[i] = histo[i] + 1;
//System.out.println("*");
}
else if ( randarray[i] <= 20){
histo[i] = histo[i] + 1;
}
else if (randarray[i] <= 30){
histo[i] = histo[i] + 1;
}
else if ( randarray[i] <= 40){
histo[i] = histo[i] + 1;
}
else if (randarray[i] <= 50){
histo[i] = histo[i] + 1;
}
else if ( randarray[i] <=60){
histo[i] = histo[i] + 1;
}
else if ( randarray[i] <=70){
histo[i] = histo[i] + 1;
}
else if ( randarray[i] <=80){
histo[i] = histo[i] + 1;
}
else if ( randarray[i] <=90){
histo[i] = histo[i] + 1;
}
else if ( randarray[i] <=100){
histo[i] = histo[i] + 1;
}
switch (randarray[i])
{
case 1: System.out.print("0-10 | "); break;
case 2: System.out.print("11-20 | "); break;
case 3: System.out.print("21-30 | "); break;
case 4: System.out.print("31-40 | "); break;
case 5: System.out.print("41-50 | "); break;
case 6: System.out.print("51-60 | "); break;
case 7: System.out.print("61-70 | "); break;
case 8: System.out.print("71-80 | "); break;
case 9: System.out.print("81-90 | "); break;
case 10: System.out.print("91-100 | ");
}
for (int i = 0; i < 80; i++)
{
randomNumber = random.nextInt(100)
index = (randomNumber - 1) / 2;
histo[index]++;
}
}
}
}