Lab5

Lab5_template

ValueCollectionTest ValueLib를 참고한다.

Lab5 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (3~4장)를 넣고 Lab5_학번_이름.zip 압축한 후 e-learning (http://lms.dankook.ac.kr/index.jsp)으로 제출

Lab5 – Collections(ArrayList, HashMap, Comparable, Comparator, sort, equals, hashCode)

본인이 작성한 Lab4에 LengthConverter 클래스를 참고하여 다른 클래스도 바꾼다. ConverterTest에서는 ArrayList를 사용하여 각종 Converter 데이터를 추가하고 테이블로 출력한다.

https://www.unitconverters.net/length/km-to-miles.htm

그리고 sort를 사용하여 Comparable vs Comparator 차이점을 비교해본다. 또한 HashMap을 사용하여== vs equals vs hashCode 차이점을 비교해본다.

보고서는 출력해서 수업시작 전에 제출한다.

보고서의 내용은 기존 코드 분석과 이해한 내용 그리고 본인이 추가한 코드내용을 적는다.

Difference between Array and ArrayList

  • Resizable
    • Array is static in size that is fixed length data structure, One can not change the length after creating the Array object.
    • ArrayList is dynamic in size. Each ArrayList object has instance variable capacity which indicates the size of the ArrayList. Its capacity grows automatically.
  • Primitives
    • Array can contain both primitive data types (e.g. int, float, double) as well as objects.
    • ArrayList can not contains primitive data types it can only contains objects.
  • Adding elements
    • In array we insert elements using the assignment(=) operator.
    • We can insert elements into the ArrayList using the add() method
  • Length
    • Each array object has the length variable which returns the length of the array.
    • Length of the ArrayList is provided by the size() method.

// Array

int[] integerArray = new int[3];
integerArray[0] = 1;
integerArray[1] = 2;
integerArray[2] = 3;
for (int i : integerArray) System.out.println(i);
for (int j=0; j<integerArray.length; j++) System.out.println(integerArray[ j ]);
int k = 0;
while (k < integerArray.length) System.out.println(integerArray[k++]);

// ArrayList

ArrayList integerList = new ArrayList();
integerList.add(1); //cannot store primitive in ArrayList, instead autoboxing will convert int to Integer object
integerList.add(2); //cannot store primitive in ArrayList, instead autoboxing will convert int to Integer object
integerList.add(3); //cannot store primitive in ArrayList, instead autoboxing will convert int to Integer object
for (int m : integerList) System.out.println(m);
for (int n=0; n<integerList.size(); n++) System.out.println(integerList.get(n));
Iterator itr = integerList.iterator();
while (itr.hasNext()) System.out.println(itr.next());

Lab4

Lab4_template (UserInput updated)

Lab4 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (3~4장)를 넣고 Lab4_학번_이름.zip 압축한 후 e-learning (http://lms.dankook.ac.kr/index.jsp)으로 제출

Lab4 – Inheritance/Interface/Package/Collections(Array vs ArrayList)

본인이 작성한 Lab3를 상속관계(Inheritance/Interface)를 가진 객체지향적인 프로그램으로 바꾼다. 그리고 본인이 원하는 Converter 클래스를 추가 작성한다. 예시: PowerConverter (horsepower<->kilowatt), PressureConverter (pascal<->standard atmosphere), NumberConverter(binary<->decimal) 등등. 그리고 ConverterLib과 ConverterTest로 Package나누어서 프로그램을 개발한다. ConverterTest에서는 Array와 ArrayList를 사용하고 차이점을 비교해본다.

http://www.unitconverters.net/

보고서는 출력해서 수업시작 전에 제출한다.

보고서의 내용은 기존 코드 분석과 이해한 내용 그리고 본인이 추가한 코드내용을 적는다.

Midterm Extra

MidtermExtra 이클립스프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class & .project)와 보고서 (10장미만)를 넣고 MidtermExtra_학번_이름.zip 압축한 후 e-learning (http://lms.dankook.ac.kr/index.jsp)으로 제출 (중간고사 extra +10점)

MidtermExtra – Midterm&Package

Package와 Midterm 시험문제 프로그램을 테스트한다.

보고서는 출력해서 수업시작 전에 제출한다.

보고서의 내용은 기존 코드 분석과 이해한 내용 그리고 본인이 추가한 코드내용을 적는다.

HW Grading

이러닝으로 보고서, 소스코드, 프로젝트 파일 폴더 전체가 없음 (HW3까지는 -0) -7

소스코드 컴파일 에러 -7
코드 실행 에러 및 잘못된 결과  -1
소스 코드에 주석 없음 (HW3까지는 -0) -1
소스코드 첫부분에 Lab이름, 날짜, 본인이름 적을것

보고서표지에 Lab번호, 분반번호, 제출일, 학번, 이름을 적을것
보고서 제출안함 -3
보고서에 내용을 작성하지 않고 소스코드 사진캡쳐해서 붙여넣기 (HW3까지는 -1로 채점함) -3
보고서에 소스코드 내용을 작성하지 않고 다른 것 적기 (HW3까지는 -1로 채점함) -3
보고서에 실행결과창 없음 -1

‘두둑한 연봉을 위한’ 2017년에 배울 만한 10가지 프로그래밍 언어

http://www.itworld.co.kr/insight/103581

1. 자바(Java)

2. 자바스크립트(JavaScript)

3. 파이썬(Python)

4. C++

5. 루비(Ruby)

6. C

7. 스위프트(Swift)

8. C#

9. 어셈블리(Assembly)

10. PHP

 

https://www.tiobe.com/tiobe-index/

1. 자바(Java)

2. C

3. C++

4. C#

5. 파이썬(Python)

6. 자바스크립트(JavaScript)

7. PHP

8. Visual Basic .NET

9. 어셈블리(Assembly)

10. 루비(Ruby)

11. Delphi/Object Pascal

12. Perl

13. MATLAB

14. Scratch

15. R

16. 스위프트(Swift)

17. Objective-C

18. Visual Basic

19. PL/SQL

20. Go