Generate random number histogram using java

Posted by Chewart on Stack Overflow See other posts from Stack Overflow or by Chewart
Published on 2009-11-18T20:52:12Z Indexed on 2010/06/06 2:22 UTC
Read the original article Hit count: 207

Filed under:
|

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]++;
    		}
    }
   }
 }

© Stack Overflow or respective owner

Related posts about java

Related posts about histogram