본문 바로가기

# 02/Java

[윤성우 열혈자바] 20-3. Math 클래스와 난수의 생성, 그리고 문자열 토큰의 구분

반응형

수학 관련 연산 기능을 제공하는 Math 클래스


public static void main(String[] args) {


System.out.println( "원주율 : " + Math.PI);

System.out.println( "2의 제곱근 : " + Math.sqrt(2) );

System.out.println();

System.out.println( "파이에 대한 Degree : " + Math.toDegrees(Math.PI) );

System.out.println( "2 파이에 대한 Degree : " + Math.toDegrees(2.0 * Math.PI) );

System.out.println();


double radian45 = Math.toRadians(45);                // 라디안으로의 변환!

System.out.println( "싸인 45 : " + Math.sin(radian45) );

System.out.println( "코싸인 45 : " + Math.cos(radian45) );

System.out.println( "탄젠트 45 : " + Math.tan(radian45) );

System.out.println();

System.out.println( "로그 25 : " + Math.log(25) );

System.out.println( "2의 16승 : " + Math.pow(2, 16) );


}










난수의 생성


Random rand = new Random();



public boolean nextBoolean()                        boolean형 난수 반환


public int nextInt()                                      int형 난수 반환


public long nextLong()                                 long형 난수 반환


public int nextInt(int bound)                          0 이상 bound 미만 범위의 int형 난수 반환


public float nextFloat()                                 0.0 이상 1.0 미만의 float형 난수 반환


public double nextDouble()                           0.0 이상 1.0 미만의 double형 난수 반환









난수 생성의 예


public static void main(String[] args) {      실행할 때마다 다른 결과를 보인다.


Random rand = new Random();


for (int i = 0; i < 7; i++)

System.out.println( rand.nextInt(1000) );

}



public Random() {


// Random(long seed) 생성자 호출

this( System.currentTimeMillis() );                // 현재 시간을 씨드 값으로 가지는 것임!!!

}



public static void main (String[] args) {        실행할 때마다 같은 결과를 보인다.

Random rand = new Random(12);

for (int i = 0; i < 7; i++)

System.out.println(rand.nextInt(1000));

}




다음 메소드 호출을 통해서 씨드 값을 수시로 바꿀 수 있다.


public void setSeed(long seed)









문자열의 토큰 구분


"PM:08:45"


이 문자열의 구분자가 : 일 경우 토큰은 다음 세 가지


PM 08 45





위와 같이 토큰을 나누는 방법


StringTokenizer st = new StringTokenizer( "PM:08:45", ":");


public boolean hasMoreTokens()            반환할 토큰이 남아 있는가?


public String nextToken()                      다음 토큰을 반환










문자열의 토큰 구분의 예


public static void main(String[] args) {


StringTokenizer st1 = new StringTokenizer("PM:08:45", ":");


while (st1.hasMoreTokens())

System.out.print(st1.nextToken() + ' ' );

System.out.println();

둘 이상의 구분자! 공백도 구분자에 포함!

StringToeknizer st2 = new StringTokenizer("12 + 36 - 8 / 2 = 44", "+-/= ");


while (st2.hasMoreTokens())

System.out.print(st2.nextToken() + ' ');

System.out.println();

}







반응형