실습Time
[6-3] 다음과 같은 맴버변수를 갖는 Student 클래스를 정의하시오
class Student
{
public static void main(String[] args)
{
String name;
int ban;
int no;
int kor;
int eng;
int math;
}
}
[6-4] 문제 6-3에서 정의한 Student클래스에 다음과 같이 정의 된 두 개의 매서드 getTotal()과 getAverage()를 추가하시오.
1.
매서드명 : getTotal()
기 능 : 국어, 영어, 수학의 점수를 모두 더해서 반환한다.
반환타입 : int
매개변수 : 없음
2.
매서드명 : getAverage()
기 능 : 총점을 과목수로 나눈 평균을 구한다.
반환타입 : float
매개변수 : 없음
[소스코드] |
class StudentTest { public static void main(String[] args) { Student s =new Student(); s.name = "홍길동"; s.ban = 1; s.no = 1; s.kor = 100; s.eng = 60; s.math = 76;
System.out.println("이름 :" + s.name); System.out.println("총점 : " + s.getTotal()); System.out.println("평균 : " + s.getAverage());
} }
class Student { /*
String name; int ban; int no; int kor; int eng; int math;
int getTotal() { return kor+eng+math; } float getAverage() { return (int)(getTotal()/3f*10+0.5f)/10f;}
*/ } |
[실행결과] |
이름: 홍길동 총점 : 236 평균 : 78.7 |
[6-5] 다음과 같은 실행결과를 얻도록 Student클래스에 생성자와 info()를 추가하시오.
소스코드 |
class StudentTest2 { public static void main(String[] args) { Student s = new Student("홍길동", 1,1,100,60,76);
System.out.println(s.info()); } }
class Student { String name; int ban; int no; int kor; int eng; int math;
Student( String name, int ban,int no, int kor, int eng, int math) //오버라이딩 { this.name = name; this.ban = ban; this.no = no; this.kor = kor; this.eng = eng; this.math = math; }
int getTotal() { return kor+eng+math; } float getAverage() { return (int)(getTotal()/3f*10+0.5f)/10f;}
public String info() { return name +","+ ban +","+ no +","+ kor +","+ eng +","+ math +","+ getTotal() +","+ getAverage(); } }
|
실행결과 |
홍길동,1,1,100,60,76,236,78.7 |
[6-6] 두 점의 거리를 계산하는 getDistance()를 완성하시오.
Hint : 제곱근 계산은 Math.squrt(double a)를 사용하면 된다.
소스코드 |
class Distance { //두 점(x,y)와 (x1,y1)간의 거리를 구한다. static double getDistance ( int x, int y, int x1, int y1) { return Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)); return Math.sqrt(Math.pow(x-x1,2)+Math.pow(y-y1,2)); }
public static void main(String[] args) { System.out.println(getDistance(1,1,2,2)); } }
|
실행결과 |
1.4142135623730951 |
[6-7] 문제6-6에서 작성한 클래스메서드 getDistance()를 Mypoint클래스의 인스턴스메서드로 정의하시오.
소스코드 |
class MyPointTest { public static void main(String[] args) { MyPoint p = new MyPoint(1,1);
//p(1,1)과 (2,2)의 거리를 구한다.
System.out.println(p.getDistance(2,2)); } }
class MyPoint { int x; //인스턴스 변수 int y; //인스턴스 변수
MyPoint(int x, int y) { this.x=x; this.y=y; }
double getDistance(int x1, int y1) { return Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)); } }
|
실행결과 |
1.4142135623730951 |
'Studynote > Computer Science 12' 카테고리의 다른 글
09.16 제 6장 객체지향프로그래밍2 실습 (0) | 2018.11.05 |
---|---|
09.16 제6장 객체지향프로그래밍2 (0) | 2018.11.05 |
09.09 6장 Java객체지향프로그래밍1 (0) | 2018.11.05 |
Chapter_03_간단한 그래픽 및 마우스 이벤트 (0) | 2018.11.03 |
Chapter_02_3_IplImage 영상 자료구조 (0) | 2018.11.03 |
댓글