티스토리 뷰

카테고리 없음

생성자 복습

장꾸꾸 2020. 10. 13. 10:09
package constructorex;

import java.util.Scanner;

/*  클래스명 : ConstructorEx4
 *   x:int
 *   y:int
 *  
 *   +ConstructorEx4()             -- 입력받기
 *   +calc():int                   -- x * y 를 리턴
 *   +display():void	           -- 출력하기
 */
public class ConstructorEx4 {
	int x;
	int y;
	
	public ConstructorEx4() {
		Scanner sc=new Scanner(System.in);
		System.out.print("가로 입력:"); x=sc.nextInt();
		System.out.print("세로 입력:"); y=sc.nextInt();
		sc.close();
	}
	public int calc() {
		return x*y;
	}
	public void display() {
		System.out.println("사각형의 넓이:"+calc());
	}
	public static void main(String[] args) {
		new ConstructorEx4().display();
		
//		ConstructorEx4 ob=new ConstructorEx4();
//		ob.display();
	}
}
/* [문제]  사각형의 넓이
* 
*  가로를 입력 : 5
*  세로를 입력 : 4
* 
*  사각형의 넓이 : 20 
*/








package constructorex;

import java.util.Scanner;

/*
[문제] 생성자에서 두수를 입력받아 큰수와 작은수를 출력하시오
show()메서드에서 maxValue(), minValue()를 호출할것

클래스명 : Max
-a:int
-b:int
+Max()               <--- 입력받기
+maxValue():int      <--- 큰수 리턴
+minValue():int      <--- 작은수 리턴
+show():void         <--- 출력

[출력]
Input a: 5
Input b: 3

큰수 : 5
작은수: 3
 */
class Max{
	private int x;
	private int y;
	
	public Max(){
		Scanner sc=new Scanner(System.in);
		System.out.print("Input a :");  x=sc.nextInt();
		System.out.print("Input b :");  y=sc.nextInt();
		sc.close();
	}
	public int maxValue(){
		return (x>y)?x:y;
	}
	public int minValue(){
		return (x<y)?x:y;
	}
	public void show(){
		System.out.println("큰수 : " + maxValue());
		System.out.println("작은수 : " + minValue());
	}	
}
public class ConstructorEx5 {
	public static void main(String[] args) {
		new Max().show();
	}
}

 

문제6

package constructorex;

public class ConstructorEx6 {
	public static void main(String[] args) {
		// Student 객체 ob1을 만들고 setter를 통해 데이터 대입한후 toString()으로 출력
		// 홍길동, 75,88,95
		Student ob1=new Student();
		ob1.setName("홍길동");
		ob1.setKor(75);
		ob1.setMat(88);
		ob1.setEng(95);
		System.out.println(ob1.toString());
		
		//Student 객체 ob2를 만들어 생성자를 통해 데이터를 대입한후 getter로 출력
		//민들레, 90,85,88
		Student ob2=new Student("민들레",90,85,88);
		System.out.println("이름:" + ob2.getName());
		System.out.println("국어:" + ob2.getKor());
		System.out.println("수학:" + ob2.getMat());
		System.out.println("영어:" + ob2.getEng());
		System.out.println("총점:" + ob2.getTotal());
		System.out.printf("평균: %.2f\n" , ob2.getAvg());
		System.out.println("학점:" + ob2.getGrade());
	}
}
/*
[문제1]
홍길동의 점수는 258 이며, 평균은 86.00이고 학점은 B입니다


[문제2]
이름:민들래
국어:90
수학:75
영어:88
총점:253
평균:84.33
학점:B
*/
package constructorex;

/*
클래스명 : Student
-name:String
-kor:int
-mat:int
-eng:int

+Student()
+Student(name:String,kor:int,mat:int,eng:int)
+setter&getter
+toString():String

+getTotal():int                 <---- kor+eng+mat 를 리턴
+getAvg():double             <---- getTotal()를 3으로 나누어서 평균을 구한후 리턴
+getGrade():char              <---- getAvg()를 이용해서 A,B,C,D,F학점을 구해서 리턴
*/
public class Student {
	private String name;
	private int kor;
	private int mat;
	private int eng;
	
	public Student() {
	}
	public Student(String name, int kor, int mat, int eng) {
		this.name = name;
		this.kor = kor;
		this.mat = mat;
		this.eng = eng;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getKor() {
		return kor;
	}
	public void setKor(int kor) {
		this.kor = kor;
	}
	public int getMat() {
		return mat;
	}
	public void setMat(int mat) {
		this.mat = mat;
	}
	public int getEng() {
		return eng;
	}
	public void setEng(int eng) {
		this.eng = eng;
	}
	@Override
	public String toString() {
		return name + "의 점수는 " + getTotal() +"점 이며, 평균은 " + getAvg() 
				  +"이고 학점은 " + getGrade() +"입니다";
	}
	public int getTotal(){
		return  kor+eng+mat;
	}
	public double getAvg(){
		return  (double)getTotal()/3;
	}
	public char getGrade(){
		switch((int)getAvg()/10)
		{
			case 10: case 9:   return 'A';
			case 8:            return 'B';
			case 7:            return 'C';
			case 6:            return 'D';
			default:           return 'F';
		}
	}
}




 

package constructorex;
/*
 기본 생성자(default constructor)
 - 생성자가 구현돼 있지 않으면 자동생성
 - 생성자가 1개라도 구형돼 있으면 기본생성자는 자동생성X 
 */
class Member{
	String name;
	int age;
	public Member(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public void view() {
		System.out.println(name+" " +age);
	}
}

public class ConstructorEx7 {
	public static void main(String[] args) {
		Member ob1 = new Member("홍길동", 27);
		ob1.view();
		
//		Member ob2 = new Member();
//		ob2.view();
	}
}
package constructorex;
/*
 기본 생성자(default constructor)
 - 생성자가 구현돼 있지 않으면 자동생성
 - 생성자가 1개라도 구형돼 있으면 기본생성자는 자동생성X 
 */
class Member{
	String name;
	int age;
	public Member() {
		name="kim"; //멤버변수의 초기화
		age = 27;
	}
	public Member(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public void view() {
		System.out.println(name+" " +age);
	}

}

public class ConstructorEx7 {
	public static void main(String[] args) {
		Member ob1 = new Member();
		ob1.view();

	}
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함