Java Presentation 중간 시험2 풀이

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

5 장 조건과 반복 ②. Contents Counting and Looping [while 문 사용 ] Powers of 2 [while 문 사용 ] More Guessing [do 문 사용 ] Election Day [do 문 사용 ] Finding Maximum &
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
어서와 Java는 처음이지! 제3장선택과 반복.
Vision System Lab, Sang-Hun Han
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
객체지향 프로그래밍.
Chap05 상속 5.1 상속의 개요 5.2 멤버 변수의 상속 5.3 메소드의 상속과 오버라이딩(Overriding)
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
7장 배열 ②.
어서와 Java는 처음이지! 제4장 배열.
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
윤 홍 란 제3장 클래스와 객체의 사용-1 윤 홍 란
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
8. 객체와 클래스 (기본).
[INA470] Java Programming Youn-Hee Han
제7장 제어구조 I – 식과 문장.
명품 JAVA Essential.
명품 JAVA Programming.
명품 JAVA Programming 제 4 장 클래스와 객체.
Power Java 제4장 자바 프로그래밍 기초.
[INA470] Java Programming Youn-Hee Han
10장 객체-지향 프로그래밍 II ©창병모.
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Power Java 제10장 배열.
객체지향 언어와 클래스, 객체 ㅎㅎ 개요 클래스의 선언, 객체의 생성 및 속성 참조 방식 멤버 변수 메소드 한빛미디어(주)
배열, 포인터, 참조 배열은 같은 형을 가지는 변수들의 묶음이다..
자바 5.0 프로그래밍.
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
C++ Espresso 제6장 생성자와 소멸자.
01. 직렬화와 역직렬화에 대하여 객체의 직렬화 직렬화와 역직렬화
명품 JAVA Essential.
명품 Java Programming.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
윤 홍 란 4 장 클래스 작성 윤 홍 란
DataScience Lab. 박사과정 김희찬 (월)
인터페이스(Interfaces) 강원대학교.
C++ 개요 객체지향 윈도우즈 프로그래밍 한국성서대학교 유일선
7장 배열 ①.
제 4주 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교
12 검색.
행정학과 김수민 중국 춘절의 교통문제.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
adopted from KNK C Programming : A Modern Approach
5장 조건과 반복 ②.
DataScience Lab. 박사과정 김희찬 (월)
자바의 신 Volume 1 1부(1~3장) 자바의 신 메인 홈 : 자바의 신 페이스북: 자바의 신 문제 풀이 :
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
WAP Java Seminar
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
Web programming Chap 04 상속 김 정 석
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
컴퓨터공학실습(I) 3주 인공지능연구실.
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
프로그래머를 위한 첫걸음 JDBC Lecture 001 BY MINIO
JA A V W. 04.
자바 5.0 프로그래밍.
제8장 포인터와 동적객체 생성 포인터의 개념을 이해한다. 포인터와 관련된 연산을 이해한다.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
자바 5.0 프로그래밍.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
Java 5장. 객체지향 개념 public class SumTest {
C.
Choi Younghwan CSE HUFS
자바 가상 머신 프로그래밍 Chapter 3. 메소드 작성하기 Pslab 오민경.
Presentation transcript:

Java Presentation 중간 시험2 풀이 http://destiny738.tistory.com 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 1번 다음 문장 중 틀린 것은? 자바 메소드는 한가지 형태만 있다. 자바 프로그램에서 처음 실행되는 메소드는 main 메소드이다. 자바 메소드는 어떤 값을 되돌려 주어야 한다. 자바 메소드 안에서 자기 자신을 호출 할 수 있다. 자바 메소드를 호출하는 경우 어떤 메소드를 호출하는지 분명해야 한다. << 풀이 >> [return type] [prefix] [function Name] ([Parameters]){ [body] } JVM은 자바 프로젝트 파일을 순회하다가 가장 먼저 나오는 Main을 실행 void 메소드는 어떤 값도 되돌려 주지 않는다. Recursive call에 대한 설명입니다. 메소드 호출시 메소드 이름을 정확히 명세하여 호출합니다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 2번 http://destiny738.tistory.com 15 / 05 / 2013 class Rectangle { // a. 가로와 세로를 나타내는 변수를 선언하고 초기값을 1로 한다 int length = 1; int width = 1;   // b. length와 width라는 변수의 현재 값을 알려 준다 public int getLength( ) { return length; } public int getWidth( ) { return width; } // c. length와 width라는 변수의 값을 입력 매개변수의 값으로 변경한다 public void setLength(int NewLength) { length = NewLength; } public void setWidth(int NewWidth) { width = NewWidth; } // d. 둘레를 계산하여 되돌려 준다 public int getPerimeter( ) { return (getLength( ) + getWidth( ) * 2); } // e. 면적을 계산하여 되돌려 준다 public int getArea( ) { return (getLength( ) * getWidth( )); } } 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 2번 사각형의 둘레 공식이 잘못 적용 되었다. (getLength()+getWidth()) * 2 class Rectangle { // a. 가로와 세로를 나타내는 변수를 선언하고 초기값을 1로 한다 int length = 1; int width = 1;   // b. length와 width라는 변수의 현재 값을 알려 준다 public int getLength( ) { return length; } public int getWidth( ) { return width; } // c. length와 width라는 변수의 값을 입력 매개변수의 값으로 변경한다 public void setLength(int NewLength) { length = NewLength; } public void setWidth(int NewWidth) { width = NewWidth; } // d. 둘레를 계산하여 되돌려 준다 public int getPerimeter( ) { return (getLength( ) + getWidth( ) * 2); } // e. 면적을 계산하여 되돌려 준다 public int getArea( ) { return (getLength( ) * getWidth( )); } } 사각형의 둘레 공식이 잘못 적용 되었다. (getLength()+getWidth()) * 2 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 3번 Rectangle 클래스를 이용하는 다음 자바 문장 중 사실상 하는 일이 없는 것은? (각 문장은 연속되어 있다고 가정한다.) Rectangle ract = new Rectangle(); rect.setLength(3); rect.setWidth(5); System.out.println(“둘레 = ”+ rect.getPerimeter()); rect.getArea(); Rectangle 클래스를 생성한다. ract의 length값을 3으로 변경한다. ract의 width값을 3으로 변경한다. ract의 둘레를 출력한다. rect의 넓이를 얻어온다. 저장되는 변수도 없고, 출력도 하지 않는다. 이는 하나 마나 한 문장이 된다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 4번 다음 문장 중 틀린 것은? 클래스의 변수들은 객체 변수이거나 클래스 변수이다. 객체를 초기화하는 방법은 생성자 메소드를 사용하는 방법밖에 없다. a = b;라는 배정문의 의미는 a, b의 변수 유형에 따라 다른 의미를 갖는다. 메소드는 객체 혹은 클래스를 대상으로 호출되어야 한다. 메소드 호출시 메소드 이름 앞에 아무것도 나오지 않는다면 그 메소드는 같은 클래스 내에 정의되어 있어야 한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 4번 다음 문장 중 틀린 것은? 클래스의 변수들은 객체 변수이거나 클래스 변수이다. static으로 정의 된 클래스 변수는 클래스 변수로 사용됩니다. 일반 클래스 변수는 객체 변수로 사용됩니다. 객체를 초기화하는 방법은 생성자 메소드를 사용하는 방법밖에 없다. 객체를 초기화 하는 방법으로는 생성자 메소드를 사용하는 방법과 클래스 변수를 선언할 때 초기화 하는 방법이 있다. (ex. 2번 문제의 Rectangle class) 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 4번 다음 문장 중 틀린 것은? a = b;라는 배정문의 의미는 a, b의 변수 유형에 따라 다른 의미를 갖는다. 맞는 말입니다. 메소드는 객체 혹은 클래스를 대상으로 호출되어야 한다. static method는 클래스를 대상으로 호출합니다. 일만 method는 객체를 대상으로 호출 합니다. 메소드 호출시 메소드 이름 앞에 아무것도 나오지 않는다면 그 메소드는 같은 클래스 내에 정의되어 있어야 한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 5번 다음 클래스 내용 중 컴파일 하면 오류가 나는 부분은? http://destiny738.tistory.com class Date { int year, month, day; public static int numCreated = 0; public Date(int yr, int mon, int dy) { numCreated++; year = yr; month = mon; day = dy; } public int getYear() { return year; } public int getMonth(); { return month; } public int getDay() { return day; } public static void main(String[ ] argv) { System.out.println("Num = " + Date.numCreated); // a Date d = new Date(2012, 4, 15); // b int curday = d.getDay( ); // c int curmonth = d.getMonth( ); // d int curyear = Date.year; // e 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 5번 다음 클래스 내용 중 컴파일 하면 오류가 나는 부분은? http://destiny738.tistory.com class Date { int year, month, day; public static int numCreated = 0; public Date(int yr, int mon, int dy) { numCreated++; year = yr; month = mon; day = dy; } public int getYear() { return year; } public int getMonth(); { return month; } public int getDay() { return day; } public static void main(String[ ] argv) { System.out.println("Num = " + Date.numCreated); // a Date d = new Date(2012, 4, 15); // b int curday = d.getDay( ); // c int curmonth = d.getMonth( ); // d int curyear = Date.year; // e 틀리 셨다면, Static variable, Static Method의 개념에 대해서 살펴봅시다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 6번 다음 프로그램이 출력하는 값은? http://destiny738.tistory.com class CD_Collection { private int num_cds, value_cds; public CD_Collection(int num, int value) { num_cds = num; value_cds = value; } public void add_cds(int num, int value) { num_cds += num; value_cds += value; public void print ( ) { System.out.println("CD당 평균 가격 : " + average_value( )); private int average_value( ) { return value_cds / num_cds; } class Driver { public static void main(String[ ] args) { CD_Collection music = new CD_Collection(6, 300); music.print( ); music.add_cds(1, 250); music.print( ); music.add_cds(3, 350); music.print( ); music.add_cds(5, 500); music.print( ); } 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 6번 다음 프로그램이 출력하는 값은? CD수 = 6 || 총 가격 = 300 print “ 300/6 = 50 “ class Driver { public static void main(String[ ] args) { CD_Collection music = new CD_Collection(6, 300); music.print( ); music.add_cds(1, 250); music.print( ); music.add_cds(3, 350); music.print( ); music.add_cds(5, 500); music.print( ); } CD수 = 6 || 총 가격 = 300 print “ 300/6 = 50 “ CD수 = 6+1 || 총 가격 = 300+250 print “ 550/7 = 79 “ CD수 = 7+3 || 총 가격 = 550+350 print “ 900/10 = 90 “ CD수 = 10+5 || 총 가격 = 900+500 print “ 1400/15 = 93 “ 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 7번 다음 배열 선언문 중 맞는 것은? int primes = {2,3,4,5,7,11}; int[] score = int[30]; float elapsedTimes[] = {11.47, 12.04, 11.72}; char grades[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘f’}; boolean[] answer = new Bollean[]; <<풀이>> 배열 선언문 : [type] [name] [] = { variables }; c번이 틀린 이유는...? Java의 실수형 default는 double이기 때문에... 맞게 하기 위해서는 float elapsedTimes[] = {(float)11.47, (float)12.04, (float)11.72} 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 8번 values[3]에 저장되어 있는 값은? 9 12 2 6 8 <<풀이>> 4 12 2 6 8 18 values[3]에 저장되어 있는 값은? 9 12 2 6 8 <<풀이>> 배열의 Index는 0부터 시작합니다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 9번 다음 반복문들 중 어느 것이 values 배열에 저장되어 있는 각 요소에 정확하게 1을 더하는가? 4 12 2 6 8 18 다음 반복문들 중 어느 것이 values 배열에 저장되어 있는 각 요소에 정확하게 1을 더하는가? for ( int j = 1 ; j < values.length ; j++ ) values[j]++; for ( int j = 0 ; j < values.length ; j++ ) values[j]++; for ( int j = 0 ; j <= values.length ; j++ ) values[j]++; for ( int j = 0 ; j < values.length-1 ; j++ ) values[j]++; for ( int j = 1 ; j < values.length-1 ; j++ ) values[j]++; <<풀이>> 8번에서 설명했듯이 배열의 Index는 0부터 시작합니다. 배열.length 는 배열 요소의 개수를 반환합니다. 위 문제의 경우, 7을 반환하게 될 것입니다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 10번 자바 문 ‘System.out.println(values[7]);’의 결과는? 7을 출력한다. 9 4 12 2 6 8 18 자바 문 ‘System.out.println(values[7]);’의 결과는? 7을 출력한다. 18을 출력한다. 아무것도 출력하지 않는다. 실행 오류(run-time)가 일어난다. 변역 오류(compile-time)가 일어난다. <<풀이>> 8번에서 설명했듯이 배열의 Index는 0부터 시작합니다. 이로 인해 크기가 7인 배열의 마지막 Index는 6이 됩니다. 컴파일러는 문법적인 오류만 체크하기 때문에 컴파일은 됩니다. 실행시 오류가 발생하는데 이는 배열 범위를 벗어난 것을 나타낸다. 15 / 05 / 2013 http://destiny738.tistory.com

Class variables : company, model, year 문제 풀이 12번 Class name 자동차를 나타내는 Car 클래스를 설계하고 구현하라. 자동차는 제조사, 모델과 연식을 가진다. 제조사, 모델과 연식 값을 알 수 있고, 변경 할 수 있어야 한다. 자동차의 제조사, 모델과 연식을 주어진 값으로 초기화 하는 생성자 메소드를 작성하라. Car 객체의 현 상태를 문자열로 반환하는 메소드를 작성하라. Class variables : company, model, year <<get/set method>> getCompany() / setCompan(var) getModel() / setModel(var) getYear() / setYear(var) <<생성자>> Car(var,var,var) <<toString method>> toString() 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 12번 클래스 이름 : Car 클래스 변수 - String company // 제조사를 저장할 변수 - String model // 모델명을 저장할 변수 - int year // 연식을 저장할 변수 Method 1 : 생성자 - 이름 : Car - 매개변수 String inputCompany // 사용자에게 받은 제조사 String inputModel // 사용자에게 받은 모델명 int inputYear // 사용자에게 받은 연식 - 알고리즘 : 사용자에게 받은 값을 이용하여 클래스 변수를 초기화한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 12번 Method 2,3,4 : get Method - 이름 : getCompany(), getModel(), getYear() - return type : getComapny() - String, getModel() - String, getYear() - int - 알고리즘 : 각각의 클래스 변수를 반환하여 사용자에게 알려준다. getCompany() // company 값을 반환 getModel() // model값을 반환 getYear() // year값을 반환 Method 5,6,7: Set Method - 이름 : setCompany(), setModel(), setYear() - 매개변수 : 사용자에게 받은 새로운 클래스 변수 값 setComapny() // String inputCompany setModel() // String inputModel setYear() // int inputYear - 알고리즘 : 사용자에게 받은 변수로 클래스 변수를 변환한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 12번 Method 8 : toString - 이름 : toString - return type : String - 변수 retstr : 반환할 변수를 저장한다. - 알고리즘 : 클래스 변수를 보기 좋은 스트링 형식으로 저장하여 반환한다. 저장 형식은 다음을 따르게 만들 것이다. retstr = “회사명 : ”+ company + “\n”; retstr+= “모델명: ” + model + “\n”; retstr+= “연 식:” + year + “년식\n”; 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 12번 http://destiny738.tistory.com 15 / 05 / 2013 Car Class를 시험하는 Driver클래스를 설계하고 작성하라. 두 개의 Car 객체를 만들어라. 첫 번째 Car객체는 제조사가 ‘현대’이고, 모델은 ‘소나타’이고, 연식은 ‘2012’이다. 두 번째 Car객체는 제조사가 ‘기아’이고, 모델은 ‘K9’이고, 연식은 ‘2013’이다. 첫 번째 Car 객체의 상태를 출력하라. 첫 번째 Car 객체의 연식을 2013으로 변경한다. 두 번째 Car 객체의 모델을 K7으로 변경한다. 두 번째 Car 객체의 상태를 출력하라. - 알고리즘 은 위 문제에 나온 순서대로 객체를 생성 후 함수를 호출하면 된다. 15 / 05 / 2013 http://destiny738.tistory.com

Class variables : id, name, score[3] 문제 풀이 13번 Class name 학생을 나타내는 Student라는 클래스를 설계하고 구현하라. 학생은 학번, 이름, 세 개의 시험점수를 갖는다. 학생의 학번, 이름, 세 개의 점수를 입력 받아 초기화 하는 생성자를 생성하라. 시험 번호와 그 번호에 대응하는 시험 점수를 매개 변수로 받아 그 번호에 대응하는 시험점수를 변경하는 메소드. 시험 번호를 매개변수로 받아 그 번호에 대응하는 시험점수를 반환하는 메소드. 평균을 구하여 반환하는 메소드. 클래스의 현 상태를 문자열 형식으로 반환해주는 메소드. Class variables : id, name, score[3] <<생성자>> Student(var,var,var) <<Set method>> setScore(var,var) <<Get method>> getScore(var) <<user method>> calcAverage() <<toString method>> toString() 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 13번 클래스 이름 : Student 클래스 변수 Method 1 : 생성자 - 이름 : Student - 매개변수 - String name // 이름을 저장할 변수 - String id // 학번을 저장할 변수 - int score[3] // 3개의 점수를 저장할 배열 변수 Method 1 : 생성자 - 이름 : Student - 매개변수 String inputName // 사용자에게 받은 이름 String inputId // 사용자에게 받은 학번 int firstScore // 사용자에게 받은 첫 번째 점수 int firstScore // 사용자에게 받은 두 번째 점수 int firstScore // 사용자에게 받은 세 번째 점수 - 알고리즘 : 사용자에게 받은 값을 이용하여 클래스 변수를 초기화한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 13번 Method 2 : set Method - 이름 : setScore() - 매개변수 : 변경할 점수 번호와 사용자에게 받은 새로운 점수 testNumber // 변경할 점수 번호 inputScore // 사용자에게 받은 새로운 점수 - 알고리즘 : 시험 번호에 해당하는 클래스 변수를 변경한다. score[testNumber-1] = inputScore; Method 3 : get Method - 이름 : getScore() - return type : int - 매개변수 : 반환 받을 점수 번호 testNumber // 반환할 점수 번호 - 알고리즘 : 사용자에게 받은 점수 번호를 이용해서 반환한다. return score[testNumber-1]; 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 13번 Method 4 : user define method - 이름 : calcAverage - return type : double - 알고리즘 : 점수를 모두 합쳐서 과목의 수로 나눈 값을 반환한다. return (double)(score[0] + score[1] + score[2]) / 3; Method 5 : toString - 이름 : toString - return type : String - 알고리즘 : 클래스 변수를 보기 좋은 스트링 형식으로 저장하여 반환한다. 저장 형식은 다음을 따르게 만들 것이다. retstr = “이름 :”+ name + “\t”; retstr+= “학번 : ” + id + “\t”; retstr+= “시험 1:” + socre[0] + “\t”; retstr+= “시험 2:” + score[1] + “\t”; retstr+= “시험 3:” + score[2] + “\n”; retstr+= “평균 : ” + calcAverage() + “\n”; 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 13번 한 대학교에서 강의하는 교과목을 나타내는 Course라는 클래스를 설계하고 구현하라. 각 교과목은 교과목명을 가지고 최대 20 명의 Student 객체들을 포함할 수 있다. 최대 20 명의 Student 객체들을 나타내기 위해 배열을 사용해야 한다. 또한 각 Course객체는 몇 명의 Student 객체들이 추가되었는지를 알고 있어야 한다. 교과목의 이름만을 매개변수로 받아 Course 객체를 생성하는 생성자 메소드를 작성하라. 한 학생의 학번, 이름과 세 개의 시험 점수들을 매개변수들로 받아 대응하는 Student 객체를 현 Course 객체에 추가하는 메소드를 작성하라. 모든 학생들의 시험 점수들의 평균을 구하여 반환하는 메소드를 작성하라. 한 교과목을 수강하는 모든 학생들의 모든 정보를 출력하는 메소드를 작성하라. 15분의 시간을 준 후 함께 코딩★ 15 / 05 / 2013 http://destiny738.tistory.com

Class variables : model, price 문제 풀이 14번 Class name 일반 차량을 나타내는 Vehicle이라는 클래스를 설계하고 구현하라. 일반 차량은 모델명과 가격이 있다. 사용자에게 받은 값을 이용하여 모델명과 가격을 초기화하는 생성자를 생성하라. 일반 차량의 모델명과 가격을 알 수 있어야 한다. 일반 차량의 모델명을 주어진 값으로 변경할 수 있어야 한다. 일반 차량의 현재 상태를 문자열의 형태로 출력해야 한다. 문자열 출력 예시 : 모델명 = 소나타, 가격 = 30000000 5분의 시간을 드리겠습니다. 한번 설계 또는 코딩해주세요. 5분 뒤 제가 설계문서를 설명해 드린 후 다시 또 5분을 드리겠습니다. 후에 함께 코딩을 하도록 하겠습니다. Class variables : model, price <<생성자>> Vehicle(var,var) <<get method>> getModel() getPrice() <<Set method>> setModel(var) <<toString method>> toString() 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 클래스 이름 : Vehicle 클래스 변수 Method 1 : 생성자 - 이름 : Vehicle - 매개변수 - String model // 모델명을 저장할 변수 - int price // 가격을 저장할 변수 Method 1 : 생성자 - 이름 : Vehicle - 매개변수 String inputModel // 사용자에게 받은 모델명 int inputPrice // 사용자에게 받은 가격 - 알고리즘 : 사용자에게 받은 값을 이용하여 클래스 변수를 초기화한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 Method 2 : get Method - 이름 : getModel(), getPrice() - return Type : getModel() – String / getPrice() - int - 알고리즘 : 각각의 클래스 변수를 반환하여 사용자에게 알려준다. Method 3 : set Method - 이름 : setModel() - 매개변수 : 새롭게 정의된 모델명 inputModel // 새롭게 정의된 모델명 - 알고리즘 : 클래스 변수를 전달 받은 값으로 변경한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 Method 4 : toString - 이름 : toString - 알고리즘 : 클래스 변수를 보기 좋은 문자열 형식으로 출력한다. 출력형식은 다음을 따르게 만들 것이다. System.out.println(“모델명 = ” + model + “, 가격 = ” + price ); 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 Class name : Car || extends vehicle 승용차의 배기량을 나타내는 값을 저장해야 한다. 승용차의 배기량도 생성자에서 초기화되게 확장하여라. 배기량의 값을 되돌려줘야 한다. 배기량의 값을 새로운 값으로 변경할 수 있어야 한다. 승용차의 세금을 계산할 수 있어야 한다. 배기량이 3000cc 이상이면 차 가격의 5%이다. 배기량이 3000cc 미만이고, 1500cc 이상이면 차 가격의 3%이다. 배기량이 1500cc 미만이면 차 가격의 1%이다. 승용차의 현재 상태를 문자열의 형태로 출력해야 한다. 출력 예시 : 모델명 = 소나타, 가격 = 30000000, 배기량 = 2500, 세금 = 900000 코딩도 함께 해드릴까요? Class variables : volume <<생성자>> Car(var,var,var) <<get method>> getVolume() <<Set method>> setVolume(var) <<toString method>> toString() <<user method>> calcTax() 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 클래스 이름 : Car 부모 클래스 : Vehicle 클래스 변수 Method 1 : 생성자 - 상속 받은 클래스 변수 : model, price - 상속 받은 메소드 : getModel, getPrice, setModel 설계는 생략 클래스 변수 - int volume // 배기량을 저장할 변수 Method 1 : 생성자 - 이름 : Car - 매개변수 String inputModel // 사용자에게 받은 모델명 String inputPrice // 사용자에게 받은 가격 int inputVolume // 사용자에게 받은 배기량 - 알고리즘 : 사용자에게 받은 값을 이용하여 클래스 변수를 초기화한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 Method 2 : get Method - 이름 : getVolume() - return Type : int Method 3 : set Method - 이름 : setVolume() - 매개변수 : 새롭게 정의된 배기량 inputVolume // 새롭게 정의된 모델명 - 알고리즘 : 클래스 변수를 전달 받은 값으로 변경한다. 15 / 05 / 2013 http://destiny738.tistory.com

문제 풀이 14번 Method 4 : user define method - 이름 : calcTax - return type : double - 알고리즘 : 문제에 주어진 설명에 따라 경우를 나눠 세금을 계산하여 반환한다. volume >= 3000, return price * 0.05; volume >= 1500, return price * 0.03; else, return price * 0.01; Method 5 : toString - 이름 : toString - 알고리즘 : 클래스 변수를 보기 좋은 문자열 형식으로 출력한다. 출력형식은 다음을 따르게 만들 것이다. System.out.println(“모델명 = ” + model + “, 가격 = ” + price + “, 세금 = ” + calcTax() ); 15 / 05 / 2013 http://destiny738.tistory.com

Thank you! Good Luck for your test! (Do your best at test) Q&A 15 / 05 / 2013 http://destiny738.tistory.com