Random , Text Game - 가위바위보 게임 , 구구단 맞추 기 [ 01 ] Random 1 ) 개론 - 예측 어려운 다양 한 수 의 발생 . >>>>> RandomTest . javaimport java . util . Random ; public class RandomTest { public static void main ( String [ ] args ) { / / double 0 < d < 1 System . out . println ( " Type 1 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ double d = Math . random ( ) ; System . out . println ( i + ": " + d ) ; } / / double 0 <= d < 10 System . out . println ( " Type 2 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ double d = Math . random ( ) * 10 ; System . out . println ( i + ": " + d ) ; } / / int 0 <= d < 10 System . out . println ( " Type 3 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int a = ( int ) ( Math . random ( ) * 10 ) ; System . out . println ( i + ": " + a ) ; } / / int 1 <= d < 10 System . out . println ( " Type 4 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int a = ( int ) ( Math . random ( ) * 10 ) + 1 ; System . out . println ( i + ": " + a ) ; } Random rnd = new Random ( ) ; System . out . println ( " Type 5 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int k = rnd . nextInt ( ) ; / / - 2147483648 ~ + 2147483647 System . out . println ( i + ": " + k ) ; } Random rnd 2 = new Random ( ) ; System . out . println ( " Type 6 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int k = rnd 2 . nextInt ( 10 ) ; / / 0 <= k < 10 System . out . println ( i + ": " + k ) ; } / / 음수 난수 만 추출 Random rnd 3 = new Random ( ) ; System . out . println ( " Type 7 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int k = rnd 3 . nextInt ( 10 ) ; / / 0 <= k < 10 if ( k > 0 ) { k = - k ; } System . out . println ( i + ": " + k ) ; } / / 범위 를 갖 는 난수 의 출력 Random rnd 4 = new Random ( ) ; System . out . println ( " Type 8 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int a = rnd 4 . nextInt ( 10 + 1 ) + 10 ; / / 10 ~ 20 System . out . println ( i + ": " + a ) ; } / / 전체 10 을 기준 으로 4 / 10 , 6 / 10 범위 를 갖 는 난수 의 출력 Random rnd 5 = new Random ( ) ; System . out . println ( " Type 9 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int a = rnd 5 . nextInt ( 10 ) / 6 ; / / 0 / 6 = 0 / / 1 / 6 = 0 / / 2 / 6 = 0 / / 3 / 6 = 0 / / 4 / 6 = 0 / / 5 / 6 = 0 / / 6 / 6 = 1 / / 7 / 6 = 1 / / 8 / 6 = 1 / / 9 / 6 = 1 System . out . println ( i + ": " + a ) ; } / / 전체 10 을 기준 으로 4 / 10 , 6 / 10 범위 를 갖 는 난수 의 출력 Random rnd 6 = new Random ( ) ; System . out . println ( " Type 10 ----------------------"); for ( int i = 0 ; i < 5 ; i ++){ int a = 1 - ( rnd 6 . nextInt ( 10 ) / 6 ) ; / / 0 / 6 = 1 / / 1 / 6 = 1 / / 2 / 6 = 1 / / 3 / 6 = 1 / / 4 / 6 = 1 / / 5 / 6 = 1 / / 6 / 6 = 0 / / 7 / 6 = 0 / / 8 / 6 = 0 / / 9 / 6 = 0 System . out . println ( i + ": " + a ) ; } }} [ 02 ] 가위바위보 게임 import java . util . *; import java . io . *; public class TextGame 01 { public static void main ( String [ ] args ) throws IOException { / / 0 ~ 2 사이 의 난수 를 구한다 . Random r = new Random ( ) ; int computer = Math . abs ( r . nextInt ( ) % 3 ) ; BufferedReader in = new BufferedReader ( new InputStreamReader ( System . in ) ) ; String user ; System . out . print ( " 가위 , 바위 , 보 중 하나 를 선택 하 세요 . ( 가위 = a , 바위 = b , 보 = c ) : "); user = in . readLine ( ) ; if ( user . equals ( " a ")){ if ( computer == 0 ) System . out . println ( " 무승부 ( 컴퓨터 : 가위 , 사람 : 가위 ) "); if ( computer == 1 ) System . out . println ( " 컴퓨터 승 ! ( 컴퓨터 : 바위 , 사람 : 가위 ) "); if ( computer == 2 ) System . out . println ( " 사람 승 ! ( 컴퓨터 : 보 , 사람 : 가위 ) "); } else if ( user . equals ( " b ")){ if ( computer == 0 ) System . out . println ( " 사람 승 ! ( 컴퓨터 : 가위 , 사람 : 바위 ) "); if ( computer == 1 ) System . out . println ( " 무승부 ( 컴퓨터 : 바위 , 사람 : 바위 ) "); if ( computer == 2 ) System . out . println ( " 컴퓨터 승 ! ( 컴퓨터 : 보 , 사람 : 바위 ) "); } else if ( user . equals ( " c ")){ if ( computer == 0 ) System . out . println ( " 컴퓨터 승 ! ( 컴퓨터 : 가위 , 사람 : 보 ) "); if ( computer == 1 ) System . out . println ( " 사람 승 ! ( 컴퓨터 : 바위 , 사람 : 보 ) "); if ( computer == 2 ) System . out . println ( " 무승부 ( 컴퓨터 : 보 , 사람 : 보 ) "); } }} [ 03 ] 구구단 맞추 기 import java . util . *; import java . io . *; public class TextGame 02 { public static void main ( String [ ] args ) throws IOException { int x , y ; Random r = new Random ( ) ; if ( args . length == 1 ) { x = Integer . valueOf ( args [ 0 ] ) . intValue ( ) ; } else { x = Math . abs ( r . nextInt ( ) % 9 ) + 1 ; } y = Math . abs ( r . nextInt ( ) % 9 ) + 1 ; int num = x * y ; System . out . println ( ) ; System . out . println ( "* 구구단 "+ x + " 단 에 대한 문제 입니다 "); System . out . println ( ) ; System . out . print ( x +" * "+ y +" = "); BufferedReader in = new BufferedReader ( new InputStreamReader ( System . in ) ) ; String user ; user = in . readLine ( ) ; int inputNum = new Integer ( user ) . intValue ( ) ; if ( num == inputNum ) { System . out . println ( " 맞 았 습니다 ! "); } else { System . out . println ( " 틀렸 습니다 . 정답 은 "+ num +" 입니다 . "); } }}