모두들 수고하셨습니다. 이러닝에 최종성적공지를 하였습니다.
Final Exam
Final Exam
– 일시: 2019년 6월 12일 (수) 오전 9:00-10:30
– 장소: 2공 524호
– 범위: 중간고사 포함 – 배운데까지 (수업내용과 과제를 중심으로)
Grading Policy
ABF 수업 (자바 프로그래밍 1) 평가방법 – 특별평가
A 30%이내
F 10%이상
Java Overview
- Identifier
- Variables
local vs class variable, instance vs static variable
- Data Type
primitive vs reference data type
- Type Conversion
implicit vs explicit type conversion
int <-> String conversion
numeric data type conversion
- Operator
arithmetic vs relational vs bitwise vs logical vs assignment operator
operator precedence
postfix vs prefix increment/decrement operator
- Control Statement
if/else, switch, for/foreach, while/do-
while, break/continue
- Array
Integer Array
Person Array
2D Array
returning an array vs passing an array as parameter
- Enum
enum data type
enum Operation example
enum Operator, enum Gender, enum Weekday
- Method
parameter passing (pass-by value – primitive vs reference data type)
swap
method overloading vs overriding
- Class
Person Class
default/public/protected/private
Static vs Instance Initializer Block
constructor usage guideline
singleton design pattern vs static class
ValueClass instance vs static
BankAccount instance vs static
Person instance vs static
PersonContactTest (has-a PhoneNumber)
ArithmeticCalculator (has-a Value & ArithmeticOperator)
- Inheritance
BankAccount SavingAccount CheckingAccount class(instance vs static member)
Car Sedan class (default/public/protected/private)
Person Student class (instance vs static method overriding)
- Polymorphism
Polymorphism vs Method Overriding vs Method Overloading
Abstract Class & Abstract Method & Polymorphism
- Interface
Comparable & Comparator Interface
Shape Polymorphism with Interface
- Collections
autoboxing and unboxing
Equals vs Contains
== vs equals vs hashCode vs contains
Array vs ArrayList
Difference between Array and ArrayList
- Swing
Swing Component
Layout Manager
5 Ways to Implement Event Listener
Event Listener (ChangeListener, KeyListener, ActionListener)
Key & Mouse Motion Listener & Adapter
TemperatureConverter
MetricConverter
AridityIndex
BMICalculator
TripleCalculatorFrame
Custom Component
DrawingPanel
BodyCalculator
Final Answer
모두들 수고하셨습니다. 기말고사 정답입니다.
java19-1-final-answer
lecture11
lecture11
java1-lecture11
lecture10
lecture10
java1-lecture10
BodyCalculator
BodyCalculatorEx (template) – add button click event handler to calculate bmi/bmr/bfp
BodyCalculatorFrame (completed)
BMI (Body Mass Index) https://bmi-calories.com/bmi-calculator.html
BMR (Basal Metabolic Rate) https://bmi-calories.com/bmr-calculator.html
BFP (Body Fat Percentage) https://bmi-calories.com/body-fat-percentage-calculator.html
SliderFrame
SliderFrame
SliderFrame
Lab8
Lab8 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (2~3장)를 넣고 Lab8_학번_이름.zip 압축한 후 e-learning(http://lms.dankook.ac.kr/index.jsp)으로 제출 (Due by 6/10)
Lab8 SWING GUI
figure package – Area, Perimeter, Vector2D, Bound, Figure, Triangle, Quadrilateral, Trapezoid, Parallelogram, Kite, Rhombus, Rectangle, Square
DrawPanel – 사용자가 마우스 더블클릭으로 점을 찍어 삼각형/사각형 도형 그리기
TriangleFrame 클래스 – 삼각형의 종류를 판별(combobox)하고 삼각형의 면적(textfield)과 둘레(textfield)를 출력
QuadrilateralFrame 클래스 – 사각형의 종류를 판별(combobox)하고 삼각형의 면적(textfield)과 둘레(textfield)를 출력
Lab8 클래스 – TriangleFrame과 QuadrilateralFrame 클래스 호출
-ArrayList<Figure> figureList
-그리고, 사용자가 도형의 점을 입력하여 삼각형/사각형 도형을 판별하고 도형의 면적과 둘레를 계산한다.
JPanel panel = new JPanel(new BorderLayout());
JPanel drawPanel = new DrawingPanel(3); // triangle drawPanel
JPanel panel2 = new JPanel(new FlowLayout());
panel.add(drawPanel, BorderLayout.CENTER);
panel.add(panel2, BorderLayout.SOUTH);
DrawingPanel
DrawPanel
DrawPanel
Lab7
java1-lab7(updated)
Lab7 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (2~3장)를 넣고 Lab7_학번_이름.zip 압축한 후 e-learning(http://lms.dankook.ac.kr/index.jsp)으로 제출 (Due by 5/28 연장)
Lab7 package & import & ArrayList & triangle classification & quadrilateral classification
도형의 점을 입력하여 삼각형/사각형 도형을 판별하고 도형의 면적과 둘레를 계산한다.
Lab7 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (2~3장)를 넣고 Lab7_학번_이름.zip 압축한 후 e-learning(http://lms.dankook.ac.kr/index.jsp)으로 제출 (Due by 5/31 연장)
Lab7 package & import & ArrayList & triangle classification & quadrilateral classification
Triangle 클래스
-TriangleType classify()
-TriangleType classifyByAngle()
Quadrilateral 클래스
-QuadrilateralType classify()
-Quadrilateral 클래스의 area()
Lab7 클래스
-ArrayList<Figure> figureList
-그리고, 사용자가 도형의 점을 입력하여 삼각형/사각형 도형을 판별하고 도형의 면적과 둘레를 계산한다.
private static final Point[] triangle1 = { new Point(10, 0), new Point(0, 10), new Point(10, 10) };
private static final Point[] triangle2 = { new Point(5, 0), new Point(0, 10), new Point(10, 10) };
private static final Point[] triangle3 = { new Point(7, 0), new Point(0, 5), new Point(5, 5) };
private static final Point[] triangle4 = { new Point(5, 0), new Point(0, 10), new Point(5, 5) };
private static final Point[] triangle5 = { new Point(7, 0), new Point(0, 5), new Point(5, 10) };
private static final Point[] rectPoints1 = { new Point(0, 0), new Point(0, 20), new Point(30, 20), new Point(30, 0) };
private static final Point[] rectPoints2 = { new Point(10, 0), new Point(0, 10), new Point(20, 30), new Point(30, 20) };
private static final Point[] squarePoints1 = { new Point(0, 0), new Point(0, 20), new Point(20, 20), new Point(20, 0) };
private static final Point[] squarePoints2 = { new Point(0, 20), new Point(20, 40), new Point(40, 20), new Point(20, 0) };
private static final Point[] trapezoidPoints1 = { new Point(10, 0), new Point(0, 20), new Point(30, 20), new Point(20, 0) };
private static final Point[] trapezoidPoints2 = { new Point(0, 10), new Point(0, 30), new Point(10, 40), new Point(10, 0) };
private static final Point[] trapezoidPoints3 = { new Point(0, 10), new Point(20, 30), new Point(30, 20), new Point(20, 10) };
private static final Point[] trapezoidPoints4 = { new Point(0, 0), new Point(10, 30), new Point(30, 30), new Point(10, 0)};
private static final Point[] parPoints1 = { new Point(10, 0), new Point(0, 20), new Point(20, 20), new Point(30, 0) };
private static final Point[] parPoints2 = { new Point(10, 10), new Point(30, 10), new Point(20, 0), new Point(0, 0) };
private static final Point[] parPoints3 = { new Point(0, 10), new Point(20, 30), new Point(40, 20), new Point(20, 0) };
private static final Point[] rhombusPoints1 = { new Point(10, 0), new Point(0, 20), new Point(10, 40), new Point(20, 20) };
private static final Point[] rhombusPoints2 = { new Point(20, 0), new Point(0, 10), new Point(20, 20), new Point(40, 10) };
private static final Point[] kitePoints1 = { new Point(10, 0), new Point(0, 10), new Point(10, 40), new Point(20, 10)};
private static final Point[] kitePoints2 = { new Point(10, 0), new Point(0, 10), new Point(10, 20), new Point(40, 10)};