Java 13

[고급자바] Arg, enum(열거형), generic(제네릭)

1. Arg 가변형 인수 : 메서드의 인수 개수가 호출할 때마다 다를 때 사용한다. - 가변형 인수는 메서드 안에서는 배열로 처리된다. - 가변형 인수는 한가지 자료형만 사용할 수 있다. - 가변형 인수와 일반적인 인수를 같이 사용할 경우에는 가변형 인수를 제일 뒤쪽에 배치해야 한다. A. sumArr public int sumArr(int[] data ) { int sum = 0; for (int i = 0; i < data.length; i++) { sum += data[i]; } return sum; } ArgTest test = new ArgTest(); //방법1 //int[] nums = {100, 200, 300}; //방법2 //int[] nums; //nums = new int[] {10..

Java 2023.03.04

[고급자바] 문제(전화번호, 호텔 관리 프로그램)

문제 1) 전화번호 관리 프로그램 이름, 주소, 전화번호를 멤버로 갖는 Phone클래스를 만들고 Map을 이용하여 전화번호 정보를 관리하는 프로그램을 작성하시오. - Map의 구조 : key값은 입력한 '이름'으로 사용하고 value값은 'Phone클래스의 인스턴스'로 한다. 예) HashMap 변수명; 더보기 - 아래의 메뉴를 구현한다. 1. 전화번호 등록 2. 전화번호 수정 3. 전화번호 삭제 4. 전화번호 검색 5. 전화번호 전체 출력 0. 프로그램 종료 ----------------------------- - 삭제, 검색 기능은 '이름'을 입력 받아 처리한다. 실행예시) ----------------------------- 다음 메뉴를 선택하세요. 1. 전화번호 등록 2. 전화번호 수정 3. 전화..

Java 2023.03.04

[고급자바] Collection(Map)

1. Map - key값, value값을 한 쌍으로 관리하는 객체 - key값 중복을 허용하지 않고 순서(index)가 없다. (Set의 특징을 갖는다.) - value 값은 중복으로 허용한다. A. 객체 생성 System.out.println(""); HashMap map = new HashMap(); System.out.println("처음 크기 : " + map.size()); B. 데이터 추가하기 System.out.println(""); // 자료 추가 ==> put(key값, value값) map.put("name", "홍길동"); map.put("addr", "대전"); map.put("tel", "010-1234-5678"); System.out.println("map ==> " + map..

Java 2023.03.03

[고급자바] 문제(Student 클래스, 숫자야구게임, 로또 판매 프로그램)

문제 1) Student 클래스 더보기 학번, 이름, 국어점수, 영어점수, 수학점수, 총점, 등수를 멤버로 갖는 Student 클래스를 만든다. 이 클래스의 생성자에서는 학번, 이름, 국어점수, 영어점수, 수학점수만 인수로 받아서 초기화 처리를 한다. 이 Student 객체는 List에 저장하여 관리한다. List에 저장된 데이터들을 학번의 오름차순으로 정렬할 수 있는 내부 정렬 기준을 구현하고, 총점의 역순으로 정렬하는데 총점이 같으면 이름의 오름차순으로 정렬이 되는 외부 정렬 기준도 구현하여 정렬된 결과를 출력하시오. (클래스명 : SortByTotal) (등수는 List에 전체 데이터가 추가된 후에 구해서 저장한다.) class Student implements Comparable{ int stuN..

Java 2023.03.03

[고급자바] 정렬(Comparator, Comparable)

1. Comparator(외부 정렬) - 외부에 별도로 정렬 기준을 구현하고 싶을 때 구현하는 인터페이스. - compare() 메서드 재정의 A. 외부 정렬 기준 클래스(Comparator) compare() 메서드 - 0 : 두 값이 같다. - 양수 : 앞, 뒤의 순서를 바꾼다. - 음수 : 앞, 뒤의 순서를 바꾸지 않는다. 1) 오름차순 - 앞의 값이 크면 양수, 같으면 0, 앞의 값이 작으면 음수 2) 내림차순 - 앞의 값이 크면 음수, 같으면 0, 앞의 값이 작으면 양수 class Desc implements Comparator{ @Override public int compare(String str1, String str2) { // 내림차순 if (str1.compareTo(str2) > 0..

Java 2023.03.03

[고급자바] Set, Ilterator

1. Set A. List와 Set의 차이점 1) List - 데이터의 순서(index)가 있다. - 중복되는 데이터를 저장할 수 있다. 2) Set - 데이터의 순서(index)가 없다. - 중복되는 데이터를 저장할 수 없다. B. 객체 생성 및 데이터 추가 add(추가할 데이터) // 객체 생성 HashSet hs1 = new HashSet(); // Set에 데이터를 추가할 때도 add() 메서드를 이용한다. hs1.add("DD"); hs1.add("AA"); hs1.add(2); hs1.add("CC"); hs1.add("BB"); hs1.add(1); hs1.add(3); System.out.println("Set 데이터 hs1 => " + hs1); System.out.println("Set..

Java 2023.03.02

[고급자바] Stack & Queue

1. Stack : 후입선출(LIFO :Last In First Out) A. 자료 입력 - push(입력값) B. 자료 출력 - pop() : 자료를 꺼내온 후 꺼내온 자료를 Stack에서 삭제한다. - peek() : 삭제없이 자료를 꺼내온다. C. 코드 public class StackQueueTest { public static void main(String[] args) { Stack stack = new Stack(); stack.push("홍길동"); stack.push("일지매"); stack.push("성춘향"); stack.push("변학도"); System.out.println("현재 stack ==> " + stack); System.out.println(); String data ..

Java 2023.03.02

[고급자바] ArrayList 문제

문제 1) 5명의 사람 이름을 입력 받아 ArrayList에 저장한 후에 이 ArrayList에 저장된 이름들 중에 '김'씨 성의 이름을 찾아 모두 출력하시오. (단, 입력은 Scanner객체를 이용한다.) public class ArrayListTest02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ArrayList nameList = new ArrayList(); System.out.println("5명의 이름을 입력하세요."); for(int i = 0; i > "); String name = scanner...

Java 2023.03.01
728x90