겉바속촉

random 연습하기 본문

IT일기(하반기)/블록체인

random 연습하기

겉바속촉 2020. 5. 28. 17:43
728x90
반응형

 

안녕하세요~ 겉바속촉입니다!^^!

이번에는 random에 대해서 알아볼게요:)

 

그 전에 다음 링크로 들어가셔서 java.util -> random을 클릭하셔서

종류별로 어떠한 코드들이 있는 지 알아봅시다

 

https://docs.oracle.com/javase/7/docs/api/

 

Java Platform SE 7

 

docs.oracle.com

 

 

랜덤수를 가져오기 위해서는 

Math.random(); 을 입력해주셔야하는데요 ----> 0.0이상 1.0미만의 double형이 나옵니다

 

그래서 다음과 같이 연습해볼거에요:)

1. 10개의 random수 출력

2. 0~9 범위의 random수 출력 : 10곱해주기

3. 0~99 범위의 random수 출력 : 100곱해주기

4. 1~10 범위의 random수 출력 : 10곱한 후에 1더해주기

5. 1~45 범위의 random수 출력 : 45곱한 후에 1더해주기

6. 65~90 범위의 random수 출력 : 26곱한 후에 65더해주기

 ---> 65부터라서 나중에 65를 더하는 것은 알고 있습니다.

 ---> 곱해주는 수는 ( 65 + 어떤 수 ) - 1 = 마지막 수 로 생각해서 어떤 수인 26을 곱해주시면 됩니다.

package day0528;

public class RandomTest_10 {
	
	public static void main(String[] args) {
		
		//Math.random() 함수는 0.0이상 1.0미만의 double형의 실수값을 반환
		
		//10개의 난수 발생
		for(int i=1;i<=10;i++)
		{
			double n=Math.random();
			System.out.println(n);
		}
		
		System.out.println("-------------------------------------");
		
		//0~9까지의 난수를 발생
		for(int i=1;i<=10;i++)
		{
			int n = (int)(Math.random()*10);
			System.out.println(n);
		}
		System.out.println("-------------------------------------");
		
		//0~99까지의 난수를 발생
		for(int i=1;i<=10;i++)
		{
			int n = (int)(Math.random()*100);
			System.out.println(n);
		}
		System.out.println("-------------------------------------");
		//1~10까지의 난수를 발생
		for(int i=1;i<=10;i++)
		{
			int n = (int)(Math.random()*10+1);
			System.out.println(n);
		}
		System.out.println("-------------------------------------");
		
		//1~45까지의 난수를 발생
		for(int i=1; i<=10; i++)
		{
			int n=(int)(Math.random()*45+1);
			System.out.println(n);
		}
		System.out.println("-------------------------------------");
		
		//65~90까지의 난수를 발생
		for(int i=1; i<=10; i++)
		{
			int n = (int)(Math.random()*26+65);
			System.out.println(n);
			
		}
	}

}

 

간단한 게임을 만들어 볼게요:)
random수를 우리가 맞춰보는 게임입니다!^^!

 

우리가 입력한 수가 random수보다 큰지 작은지 알려주는 코드를 작성해서

random수가 입력이 되면 반복문을 종료시킬거에요

package day0528;

import java.util.Scanner;

public class RandomSuMatch_11 {
	
	public static void main(String[] args) {
		
		//import
		Scanner sc= new Scanner(System.in);
		
		//변수
		
		int rnd =(int)(Math.random()*20)+1;
		int cnt=0;
		int su;
		
	
		//수식
		while(true)
		{
			cnt++;
			System.out.println(cnt+":");
		
			System.out.println("랜덤수 맞추기");
			su = sc.nextInt();
			
			//랜덤수랑 입력수랑 비교
			if(su>rnd)
			{
				
				System.out.println(su+"보다 작습니다");
			}
			else if(su<rnd)
			{
				
				System.out.println(su+"보다 큽니다");
			}
			else
			{
				
				System.out.println("맞았습니다 정답은 "+rnd+"입니다");
				
				break;
			}
			
		}
		System.out.println("프로그램 종료");			
	}

}

 

위의 콘솔창처럼 랜덤수를 계속해서 맞춰보세요:)

위와 같이 나왔다면 성공!^^!

728x90
반응형

'IT일기(하반기) > 블록체인' 카테고리의 다른 글

1차원 배열  (0) 2020.05.29
여러가지 연습예제  (0) 2020.05.28
while, if를 사용한 구구단  (0) 2020.05.28
중첩 for문  (0) 2020.05.28
string 연습하기  (0) 2020.05.28