Java 9

[JAVA] 예외처리

[ 예외처리 ] - 예외(Exception)가 발생했을 때 어떻게 할 것인지에 대해 명시해 주는 것 - 예외처리 방법에는 2가지가 있다. 하나는 try - catch 를 사용하여 예외상황을 직접 처리하는 것과, throws 를 사용하여 예외처리 책임을 호출한 쪽으로 전가하는 것 [ try - catch - finally ] public static void main(String[] args) { Human man = null try { man.getAge(); // NullPointerException } catch(NullPointerException e) { /* 예외가 발생했을 때 그 예외가 NullPointerException 이라면 어떻게 할 것인지 명시 한다. */ System.out.prin..

[JAVA] 로또 프로그램(컬렉션 사용)

문제 : 자바로 로또 프로그램을 작성하시오. ( 컬렉션을 사용 ) [ 프로그램의 기능 ] 1. 로또 생성 2. 당첨 번호 생성 3. 로또 결과 확인 로또는 1부터 45까지의 랜덤 숫자이며 총 6자리 이다. 당첨번호는 다른 하나의 보너스 번호를 가진다. 로또 등수는 아래와 같다. 1등 6개 일치 2등 5개 + 보너스번호 일치 3등 5개 일치 4등 4개 일치 5등 3개 일치 [ 클래스 구성 ] Lotto.java LottoProgram.java Lotto.java - 6개의 번호를 담을 수 있는 ArrayList 가 존재한다. - 6개의 정수를 담아야 하기 때문에 기본 타입인 int 타입을 객체로 만들어서 ArrayList 에 추가해야 한다. 더보기 import java.util.*; public class..

컬렉션

[ 컬렉션 프레임워크 ] 컬렉션에서의 상위개념 : Collection , Map [ 특징 ] 1. 객체만 사용 가능하다. (참조형) 2. 가변길이 (길이가 고정적이지 않음) 추가, 삭제가 가능하다. 3. 순서가 없다(index 가 존재하지 않는다) 이와 반면에 배열같은 경우는.. 길이가 고정적이다. 따라서 추가나 삭제를 할 수 없다. 하지만 컬렉션을 사용하기 전에 배열을 무조건 1순위로 두고 어떤 일을 처리해야 하며 이것이 불가능한 경우 컬렉션을 사용하도록 해야한다. [ 컬레션의 선언과 정의 ] //1.7 이후 부터 사용 가능 //Collection c = new HashSet(); Collection c = new HashSet(); [ 컬렉션의 기능 ] //길이확인(size) System.out.pr..

메소드 오버로딩(Method Overloading)

메소드 오버로딩(Method Overloading) 하나의 메소드로 파라미터의 개수, 타입, 파라미터 위치를 고려하여 여러개의 메소드를 만드는 것 메소드 구분 기준 메소드에서 고려해야 할 대상 - 메소드 이름, 파라미터, 파라미터 타입, 파라미터 위치 메소드에서 고려해야 할 대상 - 리턴값은 고려 대상이 아님 - 접근제한자 아래의 코드를 보면 눈으로 보면 알겠지만 다른사람이 사용한다고 생각해봐라 ...... 다 기억하겠는가? -> 바람직하지 않은 방법이다 class Test { public int sum1(int a, int b) { } public int sum2(int a, int b, int c) { } public int sum3(int a, int b, int c, int d) { } } 그래서..

정적바인딩 원형 큐(Circulation Queue)

public class Memory { // 원형 큐의 후단을 관리하기 위한 인덱스 // 스택의 전단과 후단을 관리하기 위해 사용하는 인덱스 protected int rear; protected int[] arr; protected int maxSize; public Memory(int num) { rear = 0; maxSize = num; arr = new int[num]; } public void push(int num) { rear = (rear + 1) % maxSize; arr[rear] = num; } public void disp() { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + "\t"); } System.out.p..

자료구조 2020.02.18

Stack (노드 개념 적용)

* isEmpty 부분은 비어두었습니다 .. 귀찮아서 public class Node { // 데이터 필드와 , 링크 필드로 구성된다. public T data; public Node next; public Node(T item) { data = item; next = null; } } public class MyStack { // 스택의 top을 가리키는 노드 public Node top; public int size; public MyStack() { top = null; size = 0; } public void push(T item) { Node newItem = new Node(item); newItem.next = top; top = newItem; size++; } public T pop()..

자료구조 2020.02.18