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 |
댓글