어제했던거랑 비슷하다. 메인메소드에서 데이터 클래스 만들고 메소드 클래스 만들어 분할 시켜서 실행 할 것
예제) 성적이 A,A+인 학생의 이름과 학번, 전공명을 출력하시오.
클래스 만들기
//전공
dept[0]=new DepartmentClass(920, "컴퓨터공학과", "201호");
dept[1]=new DepartmentClass(923, "산업공학과", "207호");
dept[2]=new DepartmentClass(925, "전자공학과", "308호");
//학생
students[0]=new StudentClass("1292001", "900424-1825409", "김광식", 3, "서울", 920);
students[1]=new StudentClass("1292002", "900305-1730021", "김정현", 3, "서울", 920);
students[2]=new StudentClass("1292003", "891021-2308302", "김현정", 4, "대전", 920);
students[3]=new StudentClass("1292301", "890902-2704012", "김현정", 2, "대구", 923);
students[4]=new StudentClass("1292303", "910715-1524390", "박광수", 3, "광주", 923);
students[5]=new StudentClass("1292305", "921011-1809003", "김우주", 4, "부산", 923);
students[6]=new StudentClass("1292501", "900825-1506390", "박철수", 3, "대전", 925);
students[7]=new StudentClass("1292502", "911011-1809003", "백태성", 3, "서울", 925);
//성적
takes[0]=new TakesClass("1292001", "C101-01", "B+");
takes[1]=new TakesClass("1292001", "C103-01", "A+");
takes[2]=new TakesClass("1292001", "C301-01", "A");
takes[3]=new TakesClass("1292002", "C102-01", "A");
takes[4]=new TakesClass("1292002", "C103-01", "B+");
takes[5]=new TakesClass("1292002", "C502-01", "C+");
takes[6]=new TakesClass("1292003", "C103-02", "B");
takes[7]=new TakesClass("1292003", "C501-02", "A+");
takes[8]=new TakesClass("1292301", "C102-01", "C+");
takes[9]=new TakesClass("1292303", "C102-01", "C");
takes[10]=new TakesClass("1292303", "C103-02", "B+");
takes[11]=new TakesClass("1292303", "C501-01", "A+");
값을 구하기 위한 메소드 만들기
=> 메소드에 선언되는 매개 변수값은 이름 데이터를 전역변수명과 같은 이름으로(다른사람이 알아보기 쉽게)
this
=> 변수를 사용할때 메소드는 메소드 내부에서 그 참조값이 있는지 찾고 없으면 클래스로 넘어가 찾게 된다.
this.변수명 = 변수명; this는 자기 자신을 가리킨다.
this 인스턴스는 지금 사용하고있는 이 클래스 기반으로 사용되는 인스턴스 이기에 메소드내에서 참조값을 찾으러 돌아다니 않는다.
예제2) 20대 초 중 후반 여성의 총 방문 횟수 구하기
중장년층(40대 이상) 의 총 인원 구하기
"임재,20190509,20190510,8,남,30대후반\n"
+"성열,20190509,20190510,1,남,30대중반\n"
+"천재,20190509,20190510,3,남,30대초반\n"
+"현수,20190509,20190509,1,남,20대후반\n"
+"진우,20190509,20190510,2,남,30대초반\n"
+"영주,20190509,20190510,2,여,20대후반\n"
+"종화,20190509,20190509,0,남,20대후반\n"
+"윤정,20190509,20190510,3,여,20대후반\n"
+"종호,20190509,20190510,3,남,20대중반\n"
+"동현,20190509,20190510,5,남,20대중반\n"
+"경래,20190509,20190510,1,남,20대후반\n"
+"상일,20190509,20190510,6,남,30대후반\n"
+"재형,20190509,20190510,2,남,30대중반\n"
+"경민,20190509,20190510,4,남,20대중반\n"
+"경애,20190507,20190507,0,여,30대중반\n"
+"동현,20190507,20190507,0,남,40대초반\n"
+"종인,20190507,20190507,0,남,40대중반\n"
+"은혁,20190426,20190504,3,남,30대후반\n"
+"은정,20190426,20190426,1,여,30대중반\n"
+"정은,20190426,20190426,0,여,40대후반\n"
+"진수,20190426,20190426,1,남,40대초반\n"
+"은석,20190426,20190504,2,남,50대초반\n"
+"수진,20190426,20190426,0,여,30대초반\n"
+"비공개,20190426,20190426,1,여,20대후반\n"
+"재희,20190426,20190426,2,여,40대후반\n"
+"의환,20190426,20190426,1,남,20대후반\n"
+"관현,20190425,20190425,0,남,40대초반\n"
+"성욱,20190425,20190426,3,남,30대후반\n"
+"의열,20190425,20190426,5,여,30대후반\n"
+"가영,20190425,20190426,1,여,30대중반\n"
+"현수,20190425,20190505,5,남,40대초반\n"
+"기대,20190425,20190426,2,남,40대중반\n"
+"근준,20190425,20190425,0,남,20대후반\n"
+"성준,20190425,20190426,3,남,20대후반\n"
+"종오,20190425,20190426,3,남,50대중반\n"
+"병욱,20190425,20190426,5,남,30대초반\n"
+"서경,20190425,20190426,2,여,30대후반\n"
+"비공개,20190425,20190426,1,여,30대후반\n"
+"관순,20190425,20190426,3,여,30대초반\n"
+"충현,20190425,20190426,1,남,30대초반\n"
+"시형,20190425,20190426,1,남,30대후반\n"
+"정윤,20190425,20190426,3,여,30대중반\n"
+"호섭,20190425,20190426,1,남,40대후반\n"
+"상민,20190425,20190426,1,남,30대중반\n"
+"수영,20190425,20190426,1,여,30대중반\n"
+"경훈,20190425,20190426,1,남,30대후반\n"
+"남현,20190218,20190510,10,남,30대후반\n"
+"두근,20190218,20190218,0,남,20대중반\n"
+"윤정,20181022,20190114,18,여,20대후반\n"
+"현민,20181022,20190115,31,남,20대후반\n"
+"철우,20181011,20181024,7,남,30대초반\n"
+"동주,20181011,20190324,75,남,20대후반\n"
+"승민,20181002,20181208,48,남,20대중반\n"
+"근학,20180927,20190129,45,남,20대후반\n"
+"수민,20180927,20190412,50,남,20대후반\n"
+"형석,20180927,20190418,7,남,20대후반\n"
+"명재,20180927,20190118,41,남,30대초반\n"
+"병호,20180927,20181008,3,남,50대초반\n"
+"민태,20180927,20190208,49,남,20대중반\n"
+"신혜,20180927,20190120,49,여,20대후반\n"
+"성권,20180927,20180928,5,남,20대후반\n"
+"영봉,20180927,20181217,45,남,20대후반\n"
+"성구,20180927,20190123,47,남,20대후반\n"
+"부욱,20180927,20181119,24,남,30대초반\n"
+"주현,20180712,20180712,2,여,20대초반\n"
+"다희,20180626,20180626,1,여,20대중반\n"
+"다을,20180625,20180807,40,여,20대중반\n"
+"대희,20180625,20181217,57,남,20대중반\n"
+"자훈,20180625,20190305,47,여,20대중반\n"
+"지원,20180625,20180727,38,여,20대중반\n"
+"재학,20180625,20181101,45,남,20대중반\n"
+"지혜,20180625,20190410,89,여,20대중반\n"
+"중훈,20180625,20180727,31,남,20대중반\n"
+"한솔,20180625,20181205,62,여,20대중반\n"
+"예림,20180625,20181227,28,여,20대중반\n"
+"수현,20180625,20190210,17,여,20대중반\n"
+"소현,20180625,20180727,63,여,20대중반\n"
+"해성,20180625,20180726,38,남,20대후반\n"
+"진안,20180625,20180727,45,남,20대후반\n"
+"지원,20180625,20180726,17,여,20대초반\n"
+"경희,20180625,20190424,27,여,20대중반\n"
+"도형,20180625,20190504,72,남,20대후반\n"
+"태수,20180625,20180808,70,남,20대중반\n"
+"가은,20180625,20180807,42,여,20대중반\n"
+"힘찬,20180625,20180727,33,남,20대중반\n"
+"상협,20180625,20181025,43,남,20대중반\n"
+"용선,20180625,20190102,66,남,20대중반\n"
+"승현,20180625,20181206,50,남,20대중반\n"
+"지원,20180625,20180723,16,여,20대중반\n"
+"한진,20180419,20180719,47,남,20대후반\n"
+"유찬,20180419,20181017,71,남,20대후반\n"
+"기태,20180419,20180813,39,남,20대후반\n"
+"지훈,20180419,20190209,34,남,20대후반\n"
+"봉기,20180419,20181002,71,남,20대후반\n"
+"정규,20180419,20180627,39,남,20대초반\n"
+"상준,20180419,20181228,95,남,20대후반\n"
+"유림,20180419,20180701,53,여,20대후반\n"
+"소영,20180419,20180615,44,여,20대후반";
데이터로 넘어오는 값들이 전부 문자열 형태로 되어있다.
String 타입으로 들어오는 visitiNo를 int타입으로 반환하기 위해서 형변환.
gender의 경우 => '남' , '여' 로 String 타입으로 들어온다 . 그렇기에 char타입을 쓸 수 있게 형변환.
하나의 문자열인 데이터를 "\n"을 기준으로 쪼개어서 String타입 배열에 담아주고 이를 또 ","으로 나눠 각각의 방에 들어갈 수 있도록 만들어 주었다.
String 관련 추가된 메소드들
'Learn > KH정보교육원' 카테고리의 다른 글
[KH정보교육원 당산] 7일차 ( 반복문 while 사용, 예제) (0) | 2021.03.18 |
---|---|
[KH정보교육원 당산] 6일차 (분할 시키기 연습, ArrayList 사용) (0) | 2021.03.17 |
[KH정보교육원 당산] 4일차(String 메소드, 비교연산) (0) | 2021.03.15 |
[KH정보교육원 당산] 3일차(제어문, 클래스의 종류) (0) | 2021.03.12 |
[KH정보교육원 당산] 2일차(데이터타입, 제어문) (0) | 2021.03.11 |