본문 바로가기

자바문제

[210614] 자바 문제 리딩, static static은 객체를 생성하지 않고 사용하기 위해 만든 키워드이다. static이 붙은 메서드나 변수는 "클래스 이름. 메서드"나 "클래스 이름, 변수" 처럼 사용한다. 6 "H"나 "C" suit(슈트)를 갖도록 SUIT 배열로 선언한다. static 이므로 객체를 생성하지 않고 사용할 수 있다. SUIT의 length는 2다. 7 "A"에서 "T"사이의 valu(밸류)를 갖도록 VALU 배열로 선언한다. static 이므로 객체를 생성하지 않고 사용할 수 있다. VALU의 length는 10이다. 6-7 "H"나 "C" suit(슈트)에 대해 "A"에서 "T"사이의 valu(밸류)를 조합하여 20개의 카드값을 만들도록 한다. "CA", "C2" ,....... ,"CT" , "HA", "H2",..... 더보기
[210614] 자바 문제 리딩, 객체와 은닉화 6 Card의 중요 데이터(멤버필드)로 Card 값을 문자열 타입으로 선언한다. 접근 제한자를 private으로 선언하여 데이터를 보호한다. 9-11 Card 값을 외부로 반환하는 메소드를 선언한다. 14 -17 Card("H2")를 호출한다. 다른 생성자를 호출하면서 중요 데이터인 멤버필드를 H2로 초기화한다. 19-22 Card 값을 입력받는 생성자를 선언한다. 이미 존재하는 생성자에 대해 아규먼트 개수나 타입이 다른 생성자 오버로딩 24-28 Card 생성자에 아규먼트로 카드 객체를 받는 '복사 생성자' . 입력받은 다른 Card 의 값만 받아 카드값을 초기화한다. 값은 같지만 다른 객체를 만들 때 사용한다. 30-34 toString () 오버라이딩 해, 레퍼런스 변수로 출력가능하게 한다. 6-7.. 더보기
[210530] 자바 문제 리딩 , 배열에서 가장 큰 값과 작은 값 구하기 int[] numbers = {10,55,23,2,79,101,16,82,30,45}; 여기서 가장 큰 값과 작은 값을 구해 출력해보는 문제를 풀어보았다. 알고리즘으로 풀어야해서 약간 헷갈릴 수 있지만 어렵진않았다. 먼저, 배열의 맨 처음 값부터 끝 값까지 [앞의 인덱스] vs. [뒤의 인덱스]를 비교하며 작으면 min에 넣고 크면 max에 넣는 방식이다. 우선 맨 처음 인덱스 값을 min,과 max값에 넣어준다. int min = numbers[0]; int max = numbers[0]; 참고로, 출력시 가장 큰 값과 작은 값의 위치를 알 수 있도록 Position변수도 선언한다. int minPos = 0; int maxPos = 0; 본격 알고리즘 식은 이렇다. 최소값부터 리딩해보자면, 이미 0번.. 더보기