코드 그라데이션

Day12 Quiz03 랜덤수 채우기 퀴즈 본문

Java/Mega-Method

Day12 Quiz03 랜덤수 채우기 퀴즈

완벽한 장면 2023. 3. 31. 01:31

소스코드

package Day12;

import java.util.Random;

public class Q3 {

	// 주고 안받고
	static int makeRandom() {
		Random r = new Random();
		return r.nextInt(26);
	}
	// 주고 받고
	static int intSum(int r) {
		return 65 + r;
	}
	
	// 주고 받고
	static char makeChar(int result) {
		return (char)result;
	}
	
	// 안주고 안받고
	static void run() {
		String result = "";
		for(int i = 0;i<10;i++) {
			result += makeString(makeChar(intSum(makeRandom())));
		}
		printString(result);
	}
	
	static String makeString(char ch) {
		return ch + "";
	}
	
	static void printString(String str) {
		System.out.println(str);
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		run();
	}

}

 

나름의 해석

(1) int makeRandom()

랜덤값을 받는 매서드, 파라미터 x, 리턴값 o 메소드이다.

int rn = r.nextInt(26);

return rn

이렇게 변수를 선언해서 리턴값을 저장해도 되지만,

r.nextInt(26); 이렇게 이 값을 그대로 리턴한다.

 

여기서 질문, 아래 intSum 메서드에서 파라미터를 (int r)로 받고 있는데,

그럼 이 랜덤값이 따로 변수를 선언하지 않아도(제가 쓴 코드 rn처럼), r 자체가 랜덤값을 저장하는 변수가 되는 것인가요?

 

 

(2) 랜덤값 숫자 더하는 메서드.(파라미터 o, 리턴값 o)

이것 역시 받는 파라미터를 int r로 받고, 리턴 값을 더한  값인 65 + r; 그 자체로 반환한다.

 

 

(3) 문자열 만들기 메소드

makeChar(int result)

질문

여기서 int result 파라미터는 어디서 받아오는 값인가요?

 

 printString과 makeString의 파라미터들도 어디서 받아오는 값인지 헷갈리네요...ㅎㅎ

 

 

 

728x90
Comments