Programming Language/Java 57

[Java/Error] org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class []

이클립스에서 게시판을 만들다가 서버가 좀 꼬인 듯해서 Server clean이랑 Project clean, Maven clean을 했다. 그러고 실행시키니까 Bean Class를 찾지 못한다는 오류가 떴다. org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [] 구글링해서 나오는 여러 방법들을 시도해봤지만 오류가 사라지지 않았다. 그러다 다시 Project Clean을 해야되나 싶어서 Project Clean을 했더니 제대로 작동이 됐다. 어이가 없었지만 큰 문제가 아니었어서 다행이었다.

[Java] Scanner와 BufferedReader

◆ Scanner : 입력받을 때 정수값과 소수값, 문자데이터를 구분지어 읽어들인다. - 장점: 직관적이며 사용하기 편리하다. - 단점: 키보드의 키를 입력하는 즉시 바로 전달되어 BuffredReader보다 속도가 느리다. ◆ BufferedReader : 입력받을 때 그 값을 8,192 char(16,384 byte) 크기의 버퍼에 담아놓았다가 한번에 전달한다. - 개행문자만 경계로 인식하고, 입력된 데이터의 형식은 String으로 고정되므로 데이터를 따로 가공해야 한다. cf. Scanner: 띄어쓰기와 개행문자를 기준으로 입력값을 인식하므로 데이터를 따로 가공할 필요 없다. - BufferedReader를 사용할 땐 무조건 예외 처리를 해야 한다. (try ~ catch문 또는 throws IOE..

컬렉션(Collection) (2) - 제네릭(Generic), HashSet, HashMap, Properties, 정렬

1. 제네릭(Generic)    : 컬렉션 안에서 다룰 타입들을 미리 지정해준다. ex) , , 등     객체를 형변환할 필요가 없으며 사용하고 싶은 타입만 지정해주면 된다.   ⇒ 제네릭을 으로 지정하면 반환되는 객체(Object)는 Music이 된다.   ⇒ 별도의 제네릭을 제시하지 않고 컬렉션 객체를 생성하면 기본 타입이 Object이다.  (1) 제네릭을 사용하는 이유   ① 저장할 타입에 제한을 두기 위해서 사용한다.   ② 매번 형변환하는 절차를 없애기 위해 사용한다.  (2) 컬렉션 생성 시 제네릭을 설정하는 형식ArrayList list = new ArrayList();  (3) 예시ArrayList list = new ArrayList();// 값을 추가하는 방법// 1)list.a..

컬렉션(Collection) (1) - 컬렉션, ArrayList

1. 컬렉션(Collection) : 자료구조가 내장되어 있는 클래스로, Java에서 제공하는 자료구조를 담당하는 프레임워크이다. ⇒ 간단히 말해, 데이터들을 추가 및 삭제, 수정하는 기능들을 이미 정의해놓은 틀이라고 할 수 있다. *자료구조: 데이터를 효율적으로 다룰 때 필요한 개념 프레임워크: 기능들이 이미 정의돼 있는 틀 (1) 컬렉션을 사용하는 이유 ① 배열을 사용했을 때 ⓐ 타입의 종류가 하나인 데이터만 저장할 수 있다. ⓑ 배열을 사용하려고 할 때엔 배열의 크기를 먼저 지정해야 한다. → 한 번 지정된 배열의 크기는 변경할 수 없다. 그래서 새로운 값을 추가함으로 인해 배열 크기를 늘려야 할 경우 배열을 그 크기에 맞게 새로 만들어야 한다. ⓒ 배열의 중간 위치에 데이터를 추가 및 삭제하는 경..

사용자에게 영화 메뉴를 입력받아 실행하기

// Movie 클래스 public class Movie { private String title; // 영화 제목 private String opening; // 상영 시작일 public Movie() { // 기본 생성자 super(); } public Movie(String title, String opening) { // 매개변수 생성자 super(); this.title = title; this.opening = opening; } public String getTitle() { // getter/setter 메소드 return title; } public void setTitle(String title) { this.title = title; } public String getOpening()..

입출력(IO) - 분류, 종류, 바이트스트림, 문자스트림, buffered 스트림, 객체 스트림

1. 입출력(IO) : Input & Output의 약자로, 컴퓨터 내외부 장치와 프로그램 사이에 데이터를 주고 받는 것을 뜻한다. 입출력을 위해 스트림을 이용한다. 2. 스트림(Stream) : 데이터를 입출력 장치에서 읽고 쓰기 위해 Java에서 제공하는 클래스 모든 스트림은 단방향이고, 하나의 스트림으로 입출력을 동시에 할 수 없어 2개의 스트림으로 동시에 수행해야 한다. (1) 분류 ① 최상위 클래스 ⓐ 바이트 스트림 - 입력 스트림: InputStream - 출력 스트림: OutputStream ⓑ 문자 스트림 - 입력 스트림: Reader - 출력 스트림: Writer ② 하위 클래스 ⓐ 바이트 스트림 - 입력 스트림: XXXInputStream - 출력 스트림: XXXOutputStream ..

예외 처리해보기

1. ArithmeticException 클래스 : 0으로 나눴을 때 예외 발생 // ArithmeticException // 사용자에게 정수값 2개를 입력받아 나눗셈 출력하기 public void arith() { Scanner sc = new Scanner(System.in); // 스캐너로 입력받기 System.out.println("num1: "); int num1 = sc.nextInt(); // 첫 번째 정수 num1 System.out.println("num2: "); int num2 = sc.nextInt(); // 두 번째 정수 num2 // 조건문(if문)으로 처리하기

예외 처리(Exception)

1. 에러(Error, =오류) : 프로그램을 수행할 때 치명적인 상황이 발생하여 비정상적인 종료 상황이 발생한 것을 프로그램 에러라고 한다. (1) 종류 ① 논리 에러 : 소스코드 상의 문법적 오류가 없고, 프로그램을 실행했을 때에도 문제가 없지만 프로그램의 의도상 맞지 않을 때 발생하는 에러(기획과 설계가 잘못됨) ② 시스템 에러 : 컴퓨터의 오작동으로 인해 발생하는 에러이며, 소스코드로 해결되지 않는다.(심각한 에러) ③ 컴파일 에러 : 프로그램을 실행하기 전에 소스코드 상의 문법적인 문제로 발생하는 에러이며, 소스코드를 수정하여 해결한다. ④ 런타임 에러 : 프로그램을 실행하는 도중에 발생하는 에러이며, 소스코드 상의 문제가 없음에도 발생한다.(사용자의 잘못으로 발생하거나 개발자가 경우의 수를 처..

Java API

1. API(Application Programming Interface) : 응용 프로그램에서 사용할 수 있도록 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 * Java 8 버전 API - API는 Oracle에서 제공하고 있다. 필요한 것들은 여기서 찾으면 된다. ☞ https://docs.oracle.com/javase/8/docs/api/ 2. Math 클래스 (1) 특징 ① 수학과 관련된 기능들이다. → 형식: Math.사용할기능 ② 모든 필드와 메소드가 전부 static으로 되어 있다. → static 생략이 가능하고 생성자는 private이며, 객체 생성이 필요 없다. ③ java.lang 패키지 안에 존재한다. (2) π(파이) : Math.PI System.out.p..

상속과 인터페이스를 통해 휴대폰에 필요한 기술들을 제원으로 출력하는 프로그램을 작성하기

// Phone 클래스(interface) public interface Phone { // public static final 생략 가능(어차피 상수 필드이므로) char[] NUMBERPAD = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '0', '#'}; // 추상 메소드 /*public abstract*/ String makeCall(); // 전화 걸기 String takeCall(); // 전화 받기 // public abstract 생략 가능(interface이므로) } // Camera 클래스(interface) public interface Camera { String picture(); // 촬영 방식 추상메소드 } // CellPhone..