JAVA

[자바의 정석] 6장 연습문제 풀이

Jonny 2022. 1. 4. 12:32

6-18

- 내가 적은 답
    - iv = 인스턴스 변수 -> 인스턴스가 생성될 때 생성된다.
    - cv = 클래스 변수 -> 클래스가 생성될 때 생성된다.
    
    - 라인 A/B/D
    - 인스턴스 변수(메서드)는 인스턴스가 생성될 때 만들어지고, 클래스 변수(메서드)는 클래스가 메모리에 올라갈 때 만들어진다.
    - 클래스변수에 인스턴스 변수를 저장하는것은, 인스턴스 변수가 생성되었는지 모르기 때문에 불가.
    - 마찬가치로 인스턴스 변수(메서드)가 생성되었는지 확인할 수 없는데, 스태틱메서드에서 사용불가.

- 정답
    - ㅇㄹㄴ


- 오답노트

    -


 

6-19

- 내가적은답
   -

- 정답
   - ㄹㅇㄴ

- 오답노트
   - ㄹㄴㅇ

 


6-20

- 정답 

public class Practice_6_20 {
	public static int[] shuffle(int[] arr) {
		if(arr==null || arr.length==0)
			return arr;
		
		for(int i=0; i<arr.length; i++) {
			int j = (int)(Math.random() * arr.length);
			
			// arr[i]와 arr[j]의 값을 서로 바꾼다.
			int tmp = arr[i];
			arr[i] = arr[j];
			arr[j] = tmp;
		}
		return arr;
	}
 }

 

 

- 오답노트
   - 매개변수로 어떤 값이 넘어올지 모르기 때문에 값의 유효성체크를 해야 한다.
   - Math.rondom함수를 통해 j의 값을 임의로 설정
   - arr[i]를 tmp에, arr[j]를 arr[i]에, 다시 tmp를 arr[j]에 넣어 섞는다.

 


6-22

 

- 정답

	public static boolean isNumber(String str) {
		if(str == null || str.equals(""))
			return false;
		
		for(int i=0; i<str.length(); i++) {
			char ch = str.charAt(i);
			
			if(ch < '0' || ch > '9') {
				return false;
			}
		}
		return true;
	}
  • 오답노트
    • null이거나 빈 문자열이면 false반환
    • for문을 이용한다. charAt(i)를 이용해 ch에 저장
    • 저장된 것들을 if문을 이용해 숫자가 들어갔는지 확인

 

 

'JAVA' 카테고리의 다른 글

[기술면접] JAVA 프로그래밍 면접 예상 질문과 답변  (0) 2022.01.06