일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- 클래스의구조
- 독학
- 추상화
- 캐스팅연산자
- 비전공자
- 생성자
- 상속
- for문
- 알고리즘
- 백앤드
- 개발
- 부모 생성자
- userDefineException
- 국비지원
- 개발자
- Date Class
- AoutoBoxing
- 예외처리
- 자바
- Java
- 취준생
- Calendar Class
- 코딩
- super 생성자
- 가위바위보프로그램
- 프로그래머스
- 예외던지기
- 사용자 정의 예외처리
- do~while문
- exception
- Today
- Total
목록Java (30)
유난스런 개발 기록
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qAtGL/btsv7Xe1OtH/Xpk5nKw9QVdLqN2OqaiEIK/img.png)
문제를 처음 보았을 때 생각이 났던 방법은 ArrayList를 사용하는 것이었지만, 주어진 리턴 타입을 유지하고자 했다. int k 배열 answer에서 k에 해당하는 인덱스 값을 의미하며 for문을 실행할 때 1씩 증가한다. i가 홀수일 경우 인덱스 번호 k에 할당이 되며, 조건을 충족할 때까지 반복문을 실행한다. 사실 개인적으로 ArrayList를 사용하는 것이 더 편했을 거 같다. 동적으로 배열의 크기가 조정되며 배열의 size만큼 반복문을 돌리면 되기 때문에 생각할 것이 더 줄어드는 느낌이랄까 정답 코드 class Solution { public int[] solution(int n) { int[] answer = new int[(n+1)/2]; //홀수 개수만큼의 배열의 크기 설정. int k ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EPgPu/btr8tvqQPcA/a0pHzZcssN1zCYOyWsE5AK/img.png)
회원가입 페이지를 만들면서 암호화 작업을 한 후 DB에 잘 올라가는지 확인을 해주기 위해 컴파일을 했는데 500 이 뜨면서 아래와 같은 에러가 콘솔에 출력됐다. org.apache.catalina.core.ApplicationDispatcher invoke 심각: 서블릿 [jsp]을(를) 위한 Servlet.service() 호출이 예외를 발생시켰습니다. java.lang.NullPointerException DB 연동 부분에서 오류가 발생했을 것이라 예상을 하고 찾아봤지만 별다른 문제는 없었다. 아무생각 없이 습관적으로 project clean 을 해주고 톰캣을 재구동 해주니 문제없이 DB에 데이터가 올라갔다... 아마도 이클립스 내에서 꼬였던 거 같지만 정확한 원인은 알 수 없었다고 한다.
저번 주 목요일 서블릿 공부 중 반갑지 않은 손님을 만났다. 계속해서 웹과 콘솔에 NullPointerException 이 뜨길래 예외처리를 안한 것이 있나 했다. 자바에 옮긴 sql 문 쪽의 코드들도 에러위치를 잡아주길래 몇번이고 확인을 해봤지만 원인을 찾을 수 없었다. 결국 어디부터 값을 못받아오는지 알아내기 위해서 예상이 되는 위치에 printl을 손수 다 찍어주었고, DB에 데이터를 보내주는 과정 중에 문제가 있다는 것을 예상할 수 있었다. 학원을 마치고 집에서 그리고 그 다음날 수업시간에도, 이틀을 삽질했지만 소득은 없었다. 그러던 중 콘솔에서 발견한 java.sql.SQLException: 로케일을 인식할 수 없습니다. 해당 문장으로 구글링을 해보고 결국 해결을 했다. 맥북에서 Ventura ..
day-17 예외 던지기 (Exception Throws) 예외 던지기 (Exception throws) 란 ? 특정 메소드에서 발생한 예외를 메소드를 호출한 쪽으로 떠넘겨 처리하도록 하는 것 그렇다면 왜 굳이 예외 던지기를 사용할까? 메서드 선언부에 throws 를 명시해 주어서 예외가 발생할 수 있는 코드가 있다는 것을 알려주고, 예외 처리를 강제(또는 유도)해줄 수 있다. 또한 발생 가능한 예외를 메서드에서 한 번에 처리해 주어 관리를 용이하게 해주는 효과가 있다. 사용 방법은 코드를 통해 직접 확인해보자. Member package my.day17.d.exceptionThrows; public class Member { // field 생성 String name; String kor; String..
day-17 용자 정의 예외처리 (User Define Exception) 사용자 정의 예외처리 (User Define Exception) 이란 ? 단어의 의미 그대로 사용자 즉, 개발자가 직접 예외처리를 해주는 것이다. Exception 클래스를 상속 받아야 한다. 파라미터가 없는 기본 생성자 + 예외 메시지를 전달하기 위한 파라미터(String 타입)가 있는 생성자 두 개의 생성자를 선언하는 것이 일반적이다. JangolackException extends Exception package my.day17.c.userDefineException; //== 사용자(개발자)가 정의하는 예외(익셉션)절 클래스 만들기 == // /* 1. Exception 클래스를 상속받아야 한다. 2. 생성자내에서 예외메시..
day-17 예외처리 (Exception) 예외처리 (Exception) 이란 ? 예외처리란 말 그대로 예상되는 예외를 지정해주고, 지정한 예외가 발생하면 알맞게 처리해 주는 것을 말한다. 예외는 쉽게 말하자면 error 인데, 에러가 발생하면 프로그램은 작동을 멈추게 된다. 예외 처리를 해준다면 프로그램은 멈추지 않고 정상 작동을 이어간다. 사실 예외처리는 수업시간에 따로 편성이 되어있었지만, 계속해서 써왔기 때문에 낯설지 않았다. 자바에서는 java.lang.Exception 클래스를 제공하여 예외처리를 할 수 있도록 해준다. 예외처리를 할 때 꼭 기억해야할 것이 있다. 예외 처리를 하다보면 여러개의 예외처리를 사용할 때가 있는데, 특히 부모 클래스와 자식 클래스의 익셉션을 처리할 때 오류를 범할 가..
day-16 인터페이스 (interface) 인터페이스 (interface) 란 ? field 는 final 변수로만, 메소드는 추상 메소드(미완성 메소드)로만 이루어진 것을 말한다. 추상 메소드와 field의 접근 제한자는 public 으로만 되어진다. 추상 메소드 생성 시에 public abstract 가 생략 되어져 있다. field 생성 시에 public final 이 생략 되어져 있다. 예시 코드를 통해 확인해보자. interface Figure package my.day16.e.Interface; public interface Figure { // field ==> public final 이 생략되어져 있다. double PI = 3.141592; // 즉, public final double..
day-16 접근 제어자 (access modifier) 접근 제어자 (access modifier) 란 ? public, protected ,default ,private 총 네가지 종류가 있다. 변수나 메소드의 사용권한을 지정해주는 것이다. ►접근제한자의 지정 범위 표 /* --------------------------------------------------------------------------------------------------------------------------- 접근제한자(접근지정자, accessmodifier) 자기자신클래스내부 동일패키지에있는다른클래스 다른패키지에있는하위(자식)클래스 그외의영역 -----------------------------------------..