IT_Programming/Java

난수값 생성 후, 빈도 수에 따른 그래프그리기

JJun ™ 2007. 2. 6. 09:50

class FrequencyGraph
{
      public static void main(String[] args)
      {
            int[] number = new int[100];
            int[] counter = new int[10];

            for (int i=0; i < number.length ; i++ ) {
                  System.out.print(number[i] = (int)(Math.random() * 10));
            }
            System.out.println();

            for (int i=0; i < number.length ; i++ ) {
                  counter[number[i]]++;
            }

            for (int i=0; i < counter.length ; i++ ) {
                  System.out.println( i +"의 개수 :"+ printGraph('#',counter[i]) + " " + counter[i]);
            }

      }

      public static String printGraph(char ch, int value) {
                  char[] bar = new char[value];
                 
                  for(int i=0; i < bar.length; i++) {
                        bar[i] = ch;
                  }

                  return new String(bar);
      }
}

 

/*

---------- java ----------
9259449646571003516873784587018458241300012464490374242990060274787409170940822079984065736250640280
0의 개수 :################## 18
1의 개수 :###### 6
2의 개수 :########## 10
3의 개수 :##### 5
4의 개수 :################ 16
5의 개수 :####### 7
6의 개수 :######## 8
7의 개수 :########### 11
8의 개수 :######### 9
9의 개수 :########## 10

Output completed (0 sec consumed) - Normal Termination

*/

 

 

========================================================================================

 

난수값 생성 후, 빈도수에 따른 그래프그리기 - 가우시안 분포

 

import java.util.*;

class FrequencyGraph
{
   public static void main(String[] args)
   {  
         Random rand = new Random();
         int[] number = new int[50];
         int[] counter = new int[10];

         for (int i=0; i < number.length ; i++ )

         {
            System.out.print(number[i] = (int)(rand.nextGaussian()+4.5)); 
         }
         System.out.println();

         for (int i=0; i < number.length ; i++ )

         {
            counter[number[i]]++;
         }

         for (int i=0; i < counter.length ; i++ )

         {
            System.out.println( i +"의 개수 :"+ printGraph('#',counter[i]) + " " + counter[i]);
         } 

  }

  public static String printGraph(char ch, int value)

  {
     char[] bar = new char[value];

     for(int i=0; i < bar.length; i++)

     {
        bar[i] = ch;
     } 
     return new String(bar);
  }
}


/*

---------- java ----------
44445245245334334444566354543354435434345444344456
0의 개수 : 0
1의 개수 : 0
2의 개수 :## 2
3의 개수 :########### 11
4의 개수 :######################## 24
5의 개수 :########## 10
6의 개수 :### 3
7의 개수 : 0
8의 개수 : 0
9의 개수 : 0

Output completed (0 sec consumed) - Normal Termination

*/ → 표준편차가 1

 

'IT_Programming > Java' 카테고리의 다른 글

시간이 감소하는 타이머  (0) 2007.02.06
달팽이 배열  (0) 2007.02.06
정규식(Regular Expression) 예제  (0) 2007.02.06
인터페이스  (0) 2007.02.06
추상클래스(Abstract class)  (0) 2007.02.06