본문 바로가기
JAVA

221219_Class

by 경 훈 2022. 12. 19.

1.입력

2.출력

0.작업종료

원하는 작업번호 누르세요?

 

DTO : Data Transfer Object  자료입력 클래스

DAO : Data Access Object 

- 입력기능

- 출력기능

** 클래스에는 필드와 반드시 메소드가 존재한다.

메소드한테 기능을 부여 한 다음에 기능을 사용하고 싶으면

메소드가 속한 클래스로 객체를 만든 다음

객체명.메소드명을 선택하여 사용

 

객체(인수)를 메소드로 던지면 매개변수를 객체를 생성한 클래스 타입으로 받으면 된다.

 

**메소드의 종류

1. 일반 메소드

public void name(인수)

{

      //메소드의 영역 = body

}

2. 추상 메소드 

public void name(인수);

바디가 없다 = 기능이없다.

 

** 클래스의 종류

1. 일반 클래스

2. 추상 클래스(Abstract) : 여러개의 메소드가 존재가능

메소드 중 하나라도 추상메소드가 존재하면 그 클래스는 추상 클래스가 된다.

추상클래스는 객체생성시 new 라는 키워드사용금지

 

3. 인터페이스(Interface)

 

 

package day11_DTO_DAO;

public class InputDTO {
	String name;
	int age;
	//생성자
	//기본 생성자:default Constructor
	public InputDTO() {}
	//객체 초기화 생성자
	public InputDTO(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	//세터와 게터
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

 

package day11_DTO_DAO;

import java.util.Scanner;

public class Input { //이름과 나이
	public String munja(String str,Scanner sc) {
		System.out.println(str+"를 입력하세요");
		return sc.next();
	}
	public int number(String str,Scanner sc) {
		System.out.println(str+"를 입력하세요");
		return sc.nextInt();
	}
}

 

package day11_DTO_DAO;

import java.util.ArrayList;
import java.util.Scanner;

public class InDAO {
	ArrayList<InputDTO> list = new ArrayList<InputDTO>();
	//입력기능
	public void insert() { //이름과 나이 입력받아오는 기능
		Input in = new Input();
		Scanner sc = new Scanner(System.in);
		InputDTO dto = new InputDTO();
		dto.setName(in.munja("이름", sc));
		dto.setAge(in.number("나이", sc));
		list.add(dto);
	}
	//출력기능
	public void out() {
		Output op = new Output();
		op.print(list);
	}
}

 

package day11_DTO_DAO;

import java.util.ArrayList;

public class Output {
	public void print(ArrayList<InputDTO> list) {
		System.out.print("이름"+"\t");
		System.out.println("나이 ");
		System.out.println("===========");
		//빠른 for
		for(InputDTO aa:list) {
			System.out.print(aa.getName()+"\t");
			System.out.println(aa.getAge());
		}
	}
}

 

package day11_DTO_DAO;

import java.util.Scanner;

public class MainClass {

	public static void main(String[] args) {
		//1.입력 2.출력 0.종료 원하는 작업번호 누르세요?
		Scanner sc = new Scanner(System.in);
		InDAO dao = new InDAO();//입출력기능
		InputDTO dto = new InputDTO();//입력틀
		boolean bb=true;
		while(bb) {
			System.out.println("1.자료입력");
			System.out.println("2.자료출력");
			System.out.println("0.작업종료");
			System.out.print("원하는 작업 번호를 누르세요?");
			int n = sc.nextInt();
			switch (n) {
			case 0:bb=false;break;
			case 1:dao.insert();break;	//입력기능
			case 2:dao.out();break;	//출력기능
			}
		}
	}
}

package day11_ClassTest;

public class DTO {
	String name,phone,address;
	int age;
	public DTO() {}
	public DTO(String name, String phone, String address, int age) {
		super();
		this.name = name;
		this.phone = phone;
		this.address = address;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

 

package day11_ClassTest;

import java.util.Scanner;

public class Input {
	public String munja(String str,Scanner sc) {
		System.out.println(str+"를 입력");
		return sc.nextLine();
	}
	public int number(String str,Scanner sc) {
		System.out.println(str+"를 입력");
		return sc.nextInt();
	}
}

 

package day11_ClassTest;

import java.util.ArrayList;
import java.util.Scanner;

public class DAO {
	ArrayList<DTO> list = new ArrayList<DTO>();
	public void insert() {
		Input in = new Input();
		Scanner sc = new Scanner(System.in);
		DTO dto = new DTO();
		dto.setName(in.munja("이름", sc));
		dto.setAge(in.number("나이", sc));
		sc.nextLine();
		dto.setPhone(in.munja("전화번호", sc));
		dto.setAddress(in.munja("주소", sc));
		list.add(dto);
	}
	public void out() {
		Output op = new Output();
		op.print(list);
	}
}

 

package day11_ClassTest;

import java.util.ArrayList;

public class Output {
	public void  print(ArrayList<DTO> list) {
		System.out.println("이름"+"\t"+"나이"+"\t"+"전화번호"+"\t\t"+"주소");
		System.out.println("==========================================");
		for(DTO aa:list) {
			System.out.print(aa.getName()+"\t");
			System.out.print(aa.getAge()+"\t");
			System.out.print(aa.getPhone()+"\t");
			System.out.println(aa.getAddress());
		}
	}
}

 

package day11_ClassTest;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		boolean bb =true;
		Scanner sc = new Scanner(System.in);
		DAO dao = new DAO();
		while(bb) {
			System.out.println("0.작업종료");
			System.out.println("1.자료입력");
			System.out.println("2.자료출력");
			System.out.print("원하시는 작업 번호를 누르시오");
			int n = sc.nextInt();
			switch (n) {
			case 0:bb=false;break;
			case 1:dao.insert();break;
			case 2:dao.out();break;
			}
		}
	}
}

package day11_ClassTest;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;

public class Dsam {

	public static void main(String[] args) {
		Date dd = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 a HH:mm");
		LocalDate ld = LocalDate.now();
		LocalDateTime ldt = LocalDateTime.now();
		System.out.println(sdf.format(dd));
		String aa = ld.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일"));
		System.out.println(aa);
		String bb = ldt.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 a HH:mm"));
		System.out.println(bb);
		System.out.println("=============================");
		
		Calendar cld = Calendar.getInstance(); //추상 클래스에서 객체 생성
		int yy = cld.get(Calendar.YEAR);//년도
		int mm = cld.get(Calendar.MONTH);//월
		int day = cld.get(Calendar.DATE);//일
		int hh = cld.get(Calendar.HOUR_OF_DAY);//시간
		int mi = cld.get(Calendar.MINUTE);//분
		System.out.println(yy+"년 "+(mm+1)+"월 "+day+"일 "+hh+":"+mi);
	}
}

package day11_ClassTest2;

public class DTO {
	//이름,국어,영어,수학 -> 총점,평균,학점을 구하는 클래스...
	//메인 1.자료 입력 2.자료 출력 0.작업종료 객체저장소:ArrayList 이용
	String name;
	int kor,eng,math,tot;
	double avg;
	char grade;
	public DTO() {}
	public DTO(String name, int kor, int eng, int math) {
		super();
		this.name = name;
		this.kor = kor;
		this.eng = eng;
		this.math = math;
	}
	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 getEng() {
		return eng;
	}
	public void setEng(int eng) {
		this.eng = eng;
	}
	public int getMath() {
		return math;
	}
	public void setMath(int math) {
		this.math = math;
	}
	public int getTot() {
		return tot;
	}
	public void setTot(int tot) {
		this.tot = tot;
	}
	public double getAvg() {
		return avg;
	}
	public void setAvg(double avg) {
		this.avg = avg;
	}
	public char getGrade() {
		return grade;
	}
	public void setGrade(char grade) {
		this.grade = grade;
	}
}

 

package day11_ClassTest2;

import java.util.Scanner;

public class Input {
	public String munja(String str,Scanner sc) {
		System.out.print(str+"를 입력");
		return sc.next();
	}
	public int number(String str,Scanner sc) {
		System.out.print(str+"를 입력");
		return sc.nextInt();
	}
}

 

package day11_ClassTest2;

import java.util.ArrayList;
import java.util.Scanner;

public class DAO {
	ArrayList<DTO> list = new ArrayList<DTO>();
	public void insert() {
		Input in = new Input();
		DTO dto = new DTO();
		Scanner sc = new Scanner(System.in);
		Process pp = new Process();
		dto.setName(in.munja("이름", sc));
		dto.setKor(in.number("국어", sc));
		dto.setEng(in.number("영어", sc));
		dto.setMath(in.number("수학", sc));
		dto.setTot(pp.tot(dto.getKor(),dto.getEng(),dto.getMath()));
		dto.setAvg(pp.avg(dto.getTot()));
		dto.setGrade(pp.grade(dto.getAvg()));
		list.add(dto);
	}
	public void out() {
		Output op = new Output();
		op.print(list);
	}
}

 

package day11_ClassTest2;

import java.text.DecimalFormat;
import java.util.ArrayList;

public class Output {
	public void print(ArrayList<DTO> list) {
		System.out.println("이름"+"\t"+"국어"+"\t"+"영어"+"\t"+"수학"+"\t"+"총점"+"\t"+"평균"+"\t"+"학점");
		System.out.println("====================================================================");
		DecimalFormat df = new DecimalFormat("#,##0.00");
		for(DTO aa:list) {
			System.out.print(aa.getName()+"\t");
			System.out.print(aa.getKor()+"\t");
			System.out.print(aa.getEng()+"\t");
			System.out.print(aa.getMath()+"\t");
			System.out.print(aa.getTot()+"\t");
			System.out.print(df.format(aa.getAvg())+"\t");
			System.out.println(aa.getGrade()+"\t");
		}
	}
}

 

package day11_ClassTest2;

public class Process {
	public int tot(int kor, int eng, int math) {
		return (kor+eng+math);
	}
	public double avg(int tot) {
		return (double)tot/3;
	}
	public char grade(double avg) {
		char grade;
		switch ((int)avg/10) {
		case 10:
		case 9:grade='A';break;
		case 8:grade='B';break;
		case 7:grade='C';break;
		case 6:grade='D';break;
		default:grade='F';break;
		}
		return grade;
	}
}

 

package day11_ClassTest2;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		DAO dao = new DAO();
		boolean bb = true;
		while(bb) {
			System.out.println("1.자료입력");
			System.out.println("2.자료출력");
			System.out.println("0.작업종료");
			System.out.println("숫자를 입력해주세요");
			int n = sc.nextInt();
			switch (n) {
			case 0:bb=false;break;
			case 1:dao.insert();break;
			case 2:dao.out();break;
			}
		}
	}
}

package day17_FileTest;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.GregorianCalendar;

//static 객체가 자원을 공유

public class Static_Test2 {
	public static void main(String[] args) {
		
		LocalDate ld = LocalDate.now();
		String date1 = ld.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일"));
		System.out.println(date1);
		
		int year2 = ld.getYear();
		int month2 = ld.getMonthValue();
		int date2 = ld.getDayOfMonth();
		System.out.println(year2+"년 "+month2+"월 "+date2+"일");
		
		
		GregorianCalendar gc = new GregorianCalendar();
		int year = gc.get(Calendar.YEAR);
		int month = gc.get(Calendar.MONTH);
		int date = gc.get(Calendar.DATE);
		System.out.println(year+"년 "+(month+1)+"월 "+date+"일");
		
		
		
		
//		LocalDate ld = LocalDate.now();
//		int year = ld.getYear();
//		System.out.println("올해년도는 "+year);
		
//		Calendar gc = Calendar.getInstance();
//		int year = gc.get(Calendar.YEAR);
//		System.out.println("올해년도는 "+year);
		
//		Static_Test2 gc = new Static_Test2();
//		int year = gc.get(Calendar.YEAR);
//		System.out.println("올해년도는 "+year);
		
//		GregorianCalendar gc = new GregorianCalendar();
//		int year = gc.get(Calendar.YEAR);
//		System.out.println("올해년도는 "+year);
	}
}

'JAVA' 카테고리의 다른 글

221221_Interface,상속  (0) 2022.12.21
221220_Interface  (0) 2022.12.20
221216_Class  (0) 2022.12.16
221215_Class  (0) 2022.12.15
221214_Method,Class  (0) 2022.12.14

댓글