티스토리 뷰
소스코드
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) {
run();
}
}
팁 하나
함수가 여러 개 중첩되어 있을 때는
가장 안쪽에 있는 것부터 하나씩 밖으로 빼서 봐라
인텔리제이 단축키 : ctrl + Alt + v
이 복잡한 메서드가
static void run() {
String result = "";
for(int i = 0;i<10;i++) {
result += makeString(makeChar(intSum(makeRandom())));
}
printString(result);
}
이렇게 분리 가능
static void run() {
String result = "";
for (int i = 0; i < 10; i++) {
int random = makeRandom();
int sumofInt = intSum(random);
char intAsChar = makeChar(sumofInt);
String stringResult = makeString(intAsChar);
result += stringResult;
}
printString(result);
}
-----------
1.
메소드 intsum(int r)에서
여기서 int r 파라미터는 어디서 받아오는 값인가요?
나머지 의문점도 똑같음
지금 보면 makeRandom()의 결과값은
r.nextInt(26);이다.
run(...)에서도 보면
intSum(makeRandom()) 인데,
intSum의 파라미터는 makeRandom()의 결과값으로 해석할 수 있는 거였지
그렇다면, 파라미터 선언된 int r은 makeRandom의 결과값.
r은 그냥 우리가 임의로 선언하는 변수명과 똑같다.(큰 의미 x)
그렇다고 헷갈리면 안 되는 게
위의
Random r = new Random(); 의 r은 아니다!
함수에서의 모든 변수들은 모두 독립적이기 때문
실제로는 intSum()의 파라미터 int r은
makeRandom()의 return값인 r.nextInt(26); 과 동일하다.
지금은 따로 변수를 선언해서 결과값을 저장하고, 그 변수명을 리턴하지 않고 바로 결과값을 리턴해서 그렇지.
정석처럼 변수를 따로 선언해줬다면 r 자리에 그 변수명이 대신 사용되었을 거라는 말이다.
예를 들면
// 주고 안받고
static int makeRandom() {
Random r = new Random();
int result = r.nextInt(26)
return rdresult;
}
// 주고 받고
static int intSum(int rdresult) {
return 65 + r;
}
이렇게 말이다!!!
728x90
반응형
'[개발] - Java > Mega' 카테고리의 다른 글
메서드화 연습하기 (0) | 2023.04.02 |
---|---|
Day13 Quiz02 짝수 홀수 판별 퀴즈 의문점 추가해결 (0) | 2023.04.02 |
Day12 Quiz02 계산기 만들기 예제 추가적인 내용 부연 (0) | 2023.04.02 |
230331 3주차 수업 내용 복기 (1) 리턴값과 파라미터 (0) | 2023.04.02 |
Day11. 달팽이 배열 문제 혼동 개념 복기 (0) | 2023.04.02 |
Comments