분류 전체보기

지난 포트팅에서 Split 함수를 통한 Tokenizer 방법을 기술했다. Java에서는 StringTokenizer라는 함수도 존재한다. 동작 원리는 C언어에서 사용했던 strtok 함수와 비슷하게 볼 수 있다. 생성자(Constructor) StringTokenizer(String str) 해당 문자열에 대해 문자열 토큰화 구성 StringTokenizer(String str, String delim) 해당 문자열에 대해 문자열 토큰화 구성 StringTokenizer(String str, String delim, boolean returnDelims) 해당 문자열에 대해 문자열 토큰화 구성 함수(Method) countTokens() 앞으로 호출할 수 있는 횟수를 반환한다. hasMoreElemen..
EventHandler를 작성하고자 여러 문서들을 참조하고 다녔는데 부모 클래스를 상속받을 때 extends 혹은 implements를 사용하는 모습을 볼 수 있었다. extends, implements에 대한 차이를 말하기 전에 추상클래스와 인터페이스의 차이를 이해해야 할 것 같다. [추상클래스 vs 인터페이스] 추상클래스 - 하나 이상의 추상메서드를 포함하거나 abstract로 정의된다. - 추상클래스는 해당 추상클래스의 기능을 이용하고, 확장하기 위해 사용한다. - 같은 종류나 행동들을 구현할게 많을때 사용한다. - 상속에 대한 계층구조를 명확히 표현할때 추상클래스를 이용한다. 인터페이스 - 모든 메서드가 추상메서드이다. - 함수의 구현을 강제하기 위해 사용한다. - final을 붙일 수 없으며, ..
Calculator를 만들면서 버튼을 클릭하면 화면에 글자가 작성되게 하고싶었다. 이를 위해 필요한 개념인 Event에 대해서 간략하게 정리하고자 한다. Event - GUI 컴포넌트에서 발생되는 행위를 의미한다. ex) 버튼 클릭, 리스트 선택, 체크박스 체크 등 모든 이벤트 클래스는 java.util.EventObject클래스로부터 상속받는다. 해당 클래스에는 이벤트를 발생시킨 객체를 알려주는 getSource() 메서드가 존재한다. // EventObject 클래스 주요 메서드 Object getSource() // 이벤트를 발생시킨 객체 반환 String toString() // 이벤트 이름을 문자열로 반환 Event 3대 속성 1. Event Source - 이벤트가 발생되는 컴포넌트 ex) 버..
계산기 만들기 프로젝트를 본격적으로 진행하기에 앞서 Console 단에서 입출력을 진행하기에는 프로젝트의 완성도가 떨어질 것 같다는 생각이 들었다. 실제 계산기 프로그램들 처럼 GUI로 표현해보면서 Java의 여러 기능들을 익혀보고자한다. Java로 GUI를 표현하는 방법으로는 AWT, Swing 이 두가지 패키지가 대표적이라고 볼 수 있다. 1. AWT(Abstract Window Toolkit) Package OS의 자원을 이용해 화면을 구성한다. (운영체제별로 UI가 다르다) java.awt.* ex) Frame, Button, TextField, ... 2. Swing Package UI적인 측면에서 각종 시스템이 공통적으로 제공받을 수 있도록 Java영역에서 사용하는 기능을 적용받는다. java..
계산기를 구현하면서 문득 한 문자열에서 Tokenization을 통해 사칙연산을 제외한 문자들을 걷어내고 싶었다. 코드를 짜는 초반이라 Tokenization을 어떻게 할까 고민하면서 구글링으로 여러 자료를 찾아보다가 Split함수를 알게되었다. 아래 구문을 포함한 코드를 실행하자 에러가 발생했다. // Initial Code Scanner input = new Scanner(System.in); String str = input.next(); String[] p = str.split("+"); //error split 함수의 구조를 다시 살펴보니 해당 함수는 정규표현식을 통해 문자를 인식한다고 한다. 정규표현식에 따르면 +가 의미하는 바는 "앞 문자가 1개 이상 존재할 수 있다." 라는 뜻이라고 한다...
args로 cmd / argument에서 args의 값이 입력되지 않았을 때 예외처리를 해주고싶어 아래와 같은 문법을 작성했다. //Initial Code String name = args[0]; if(args[0] == null || args[0] == " ") { System.out.println("Please input Username\nex)java Main User_name"); } System.out.println("Hello User "+name); 하지만 args[0]의 초기값이 입력되지 않았을 때 다음과 같은 에러가 발생했다. 위 에러메시지를 읽어보고, Index 0번째가 length 0과 결속되지않았다(?) 정도로 해석해보았다. 여러가지 자료를 찾아보면서 알게 된 것인데 아래 예제의 i..
_주노
'분류 전체보기' 카테고리의 글 목록 (13 Page)