Skip to content
Home » 자바 회원 관리 프로그램 | [자바 기초 강의] 41강 회원 관리 프로그램1 15 개의 자세한 답변

자바 회원 관리 프로그램 | [자바 기초 강의] 41강 회원 관리 프로그램1 15 개의 자세한 답변

당신은 주제를 찾고 있습니까 “자바 회원 관리 프로그램 – [자바 기초 강의] 41강 회원 관리 프로그램1“? 다음 카테고리의 웹사이트 https://kk.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://kk.taphoamini.com/wiki. 바로 아래에서 답을 찾을 수 있습니다. 작성자 소놀코딩_Sonol Coding 이(가) 작성한 기사에는 조회수 3,561회 및 좋아요 26개 개의 좋아요가 있습니다.

Table of Contents

자바 회원 관리 프로그램 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [자바 기초 강의] 41강 회원 관리 프로그램1 – 자바 회원 관리 프로그램 주제에 대한 세부정보를 참조하세요

데이터베이스를 활용하여 회원관리 프로그램을 만듭니다.

자바 회원 관리 프로그램 주제에 대한 자세한 내용은 여기를 참조하세요.

[JAVA] 간단한 고객관리프로그램 – zeroco – 티스토리

[JAVA] 간단한 고객관리프로그램 · CustomerManager extends Frame implements ActionListener, KeyListener, · CustomerManager · vo setButton · vo …

+ 여기에 보기

Source: zeroco.tistory.com

Date Published: 8/26/2021

View: 6988

[java] 은행 회원관리 프로그램(메소드 구현) – 복세편IT – 티스토리

은행의 회원을 관리하는 프로그램입니다. 회원 가입과 탈퇴 기능으로 인원관리가 가능하며 로그인 한 특정 인원의 입출금과 같은 은행업무도 추가 …

+ 여기를 클릭

Source: sseoui.tistory.com

Date Published: 8/18/2022

View: 1717

[Java 소스] 회원 관리 프로그램 (Vector 클래스 이용)

[Java 소스] 회원 관리 프로그램 (Vector 클래스 이용) //Member.java //회원 클래스 public Member { final int num; String name; …

+ 여기에 표시

Source: ehclub.net

Date Published: 4/14/2021

View: 8391

자바 ArrayList로 고객관리 프로그램 작성하기 – 네이버블로그

Member { private int memberId; private String memberName; public Member(int memberId, String memberName) { this.

+ 여기에 표시

Source: blog.naver.com

Date Published: 3/8/2022

View: 2751

회원관리 프로그램 – velog

오라클을 자바에서 이용하기 위해 JVM에 올려주는데. 에러날 수 있으니 try-catch로 싸준 모습. public MemberDAO() { try …

+ 여기에 보기

Source: velog.io

Date Published: 10/17/2021

View: 5047

[Java] GUI 회원관리 프로그램 만들기 – 챙’s Story – 티스토리

자바를 이용한 회원관리 프로그램 만들기. 5/28 ~ 6/3. 데이터 베이스 테이블 생성. 소스코드. MangementDTO.java package dto; import java.sql.

+ 더 읽기

Source: chaengstory.tistory.com

Date Published: 5/23/2021

View: 2374

[Java 언어 활용] 3.6 ArrayList 클래스 – 언제나 휴일

Java 언어에서는 순차 리스트를 구현한 ArrayList 클래스를 제공하고 있습니다. … 소스 3.8 ArrayList를 이용한 회원 관리 프로그램 …

+ 여기에 표시

Source: ehclub.co.kr

Date Published: 2/2/2022

View: 4795

자바스터디 5주차 (2) [스터디관리 프로그램 구현] – 나, 記錄

StudyVO.java package StudyProgram; public StudyVO { private String memberCode; // 회원번호 private String memberName; // 회원이름 …

+ 더 읽기

Source: hong-chii.tistory.com

Date Published: 6/14/2021

View: 1170

주제와 관련된 이미지 자바 회원 관리 프로그램

주제와 관련된 더 많은 사진을 참조하십시오 [자바 기초 강의] 41강 회원 관리 프로그램1. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[자바 기초 강의] 41강 회원 관리 프로그램1
[자바 기초 강의] 41강 회원 관리 프로그램1

주제에 대한 기사 평가 자바 회원 관리 프로그램

  • Author: 소놀코딩_Sonol Coding
  • Views: 조회수 3,561회
  • Likes: 좋아요 26개
  • Date Published: 2019. 5. 30.
  • Video Url link: https://www.youtube.com/watch?v=DyKeFGxTgI4

[JAVA] 간단한 고객관리프로그램

728×90

728×90

* 고객관리 할 수 있는 프로그램을 AWT로 GUI를 구성하여 만들었습니다.

String의 사용을 최대한 줄이고, StringBuffer를 사용하여 메모리 낭비를 줄이도록 하였습니다.

ObjectStream을 이용하여 입출력 할 수 있도록 하였습니다.

파일을 저장, 새이름으로 저장, 불러오기 등 io를 사용할 수 있도록 구성하였습니다.

ObjectStream을 사용하지 않고 객체 직렬화하지 않는 함수도 포함하였습니다.

복잡한 프로그램이 아니기에 Customer.java, CustomerManager.java 두개의 클래스만으로 구성하였고

이벤트 관련 리스너를 클래스안에서 모두 처리하도록 하였습니다.

화면 구성도 별도의 클래스로 panel를 나누지 않고 buildGUI 라는 함수안에서 모두 처리할 수 있도록 하였습니다.

구성이 복잡해 tab을 이용하여 쉽게 볼 수 있도록 하였습니다.

Customer.java

public class Customer implements Serializable { private static final long serialVersionUID = 1L; private String name; private String jumin; private String tel; private boolean gender; private String hobby; public Customer() { } public Customer(String name, String jumin, String tel, boolean gender, String hobby) { super(); this.name = name; this.jumin = jumin; this.tel = tel; this.gender = gender; this.hobby = hobby; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getJumin() { return jumin; } public void setJumin(String jumin) { this.jumin = jumin; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public boolean isGender() { return gender; } public void setGender(boolean gender) { this.gender = gender; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } @Override public String toString() { StringBuffer sb = new StringBuffer(” “); sb.append(name); sb.append(” : “); sb.append(isGender() ? “남성” : “여성”); return sb.toString(); } }

CustomerManager.java

public class CustomerManager extends Frame implements ActionListener, KeyListener, ItemListener{ private static final long serialVersionUID = 1L; private TextField nametf = new TextField(20); private TextField jumin1tf = new TextField(7); private TextField jumin2tf = new TextField(8); private Choice telch = new Choice(); private String[] tstr = {“010”, “011”, “016”, “017”, “018”, “019”}; private TextField tel1tf = new TextField(4); private TextField tel2tf = new TextField(4); private CheckboxGroup cg = new CheckboxGroup(); private Checkbox man = new Checkbox(“남성”, cg, true); private Checkbox woman = new Checkbox(“여성”, false, cg); private String[] hstr = {“독서”, “영화”, “음악”, “게임”, “쇼핑”}; private Checkbox[] hobby = new Checkbox[hstr.length]; private Button addbt = new Button(“등록”); private Button dispbt = new Button(“분석”); private Button updatebt = new Button(“수정”); private Button delbt = new Button(“삭제”); private Button initbt = new Button(“입력모드”); private List listli = new List(); private TextArea infota = new TextArea(); //메뉴 private MenuBar mb = new MenuBar(); private Menu mfile = new Menu(“File”); private MenuItem mfnew = new MenuItem(“새파일”); private MenuItem mfopen = new MenuItem(“불러오기”); private MenuItem mfsave = new MenuItem(“저장하기”); private MenuItem mfsaveas = new MenuItem(“새이름으로저장하기”); private MenuItem mfexit = new MenuItem(“종료”); private Menu mhelp = new Menu(“Help”); private MenuItem mhver = new MenuItem(“버전정보”); //다이알로그 private Dialog dialog = new Dialog(this, “버전정보”, true); private Label dlabel = new Label(“CustomerManager V1.0”, Label.CENTER); private Button dbt = new Button(“확인”); //구성요소 private ArrayList data = new ArrayList(); private File myfile = null; private FileDialog fileDialog = null; //생성자 public CustomerManager() { super(“고객관리프로그램”); setDialog(); buildGUI(); setEvent(); setMenu(); } //버튼 처리 private void setButton(boolean state) { addbt.setEnabled(state); dispbt.setEnabled(!state); updatebt.setEnabled(!state); delbt.setEnabled(!state); initbt.setEnabled(!state); } public void clrscr() { nametf.setText(“”); jumin1tf.setText(“”); jumin2tf.setText(“”); telch.select(0); tel1tf.setText(“”); tel2tf.setText(“”); man.setState(true); for(int i = 0 ; i 불러오기 -> saveFile.sav” 을 눌러 불러오면 목록이 추가되는 모습을 확인 할 수 있습니다. 파일을 만들어서 저장하고 싶으면, 등록해서 목록을 만들고 “File-> 새이름으로 저장하기 ” 하여 저장하면 됩니다. 다시 불러오고 싶다면 saveFile.sav파일을 불러온 것처럼 하면됩니다.

고객관리프로그램.zip 0.03MB

728×90

[java] 은행 회원관리 프로그램(메소드 구현)

728×90

은행의 회원을 관리하는 프로그램입니다

회원 가입과 탈퇴 기능으로 인원관리가 가능하며 로그인 한 특정 인원의 입출금과 같은 은행업무도 추가하였습니다

계정관리 Class

가입된 은행 고객의 전체 계정수를 카운트하는 역할과 로그인, 입출금을 위한 디스플레이 화면이 구현되어 있는 클래스입니다

코드 옆 주석처리된 번호순으로 설명하겠습니다

Account() 메서드의 totalCount++;는 전체 계정 개수를 저장하는 역할을 합니다 즉 계정이 추가될때마다 하나씩 증가시키라는 뜻으로 결과적으로 하나씩 증가되어 저장된 총값이 해당 은행에 가입되어 있는 회원수 값이 될 것입니다 로그인 실패, 성공여부를 가려주는 boolean형 retrunValue 변수를 선언하여 기본값을 false로 세팅했습니다. 사용자가 입력한 아이디와 패스워드가 데이터에 저장되어 있는 아이디, 패스워드와 같다면 retrunValue는 true를 리턴합니다 멈추지 않는 메뉴동작을 위해 반복 작동할 수 있도록 falg값을 추가하여 while문에 대입했습니다 5번 종료 버튼을 선택할 경우 falg=false;로 메뉴가 종료됩니다

class Account { public static int totalCount = 0 ; public int money = 0 ; public String id = null ; public String pw = null ; public Account() { totalCount + + ; //1번 } public Account( String id, String pw) { this (); this .id = id; this .pw = pw; } public boolean isLogin( String id, String pw) { boolean retrunValue = false ; //2번 if ( this .id. equals (id) & & this .pw. equals (pw)) { retrunValue = true ; } return retrunValue; } public void display() { System . out . println ( “——————–” ); System . out . println ( “총 계정수:” + Account.totalCount); System . out . println ( “Id:” + id); System . out . println ( “Money:” + money); System . out . println ( “——————–” ); } public void add ( int money) { this .money = this .money + money; } public void minus( int money) { this .money = this .money – money; } public void menu() { java.util. Scanner sc = new java.util. Scanner ( System . in ); String inputString = null ; boolean falg = true ; //3번 while (falg) { System . out . println ( ” ” ); System . out . println ( “‘” + this .id + “‘ 고객님 환영합니다!” ); System . out . println ( “1.입금 2.출금 3.종료” ); inputString = sc.nextLine(); switch (inputString) { case “1” : System . out . println ( ” ” ); display(); System . out . println ( “입금액을 입력하세요” ); int money = Integer. parseInt (sc.nextLine()); add (money); System . out . println ( ” ” ); display(); break ; case “2” : System . out . println ( ” ” ); display(); System . out . println ( “출금액을 입력하세요” ); money = Integer. parseInt (sc.nextLine()); minus(money); System . out . println ( ” ” ); display(); break ; case “3” : System . out . println ( “사용을 종료하셨습니다” ); falg = false ; break ; default : System . out . println ( “잘못된 입력입니다” ); } } } } Colored by Color Scripter cs

Bank Class

int totalCount는 Bank Class에 몇개의 은행이 저장되어 있는지,

String name은 은행 이름을 목적으로 선언한 변수입니다

또한 Account클래스에서 생성된 여러개의 고객 계정을 저장하기 위해서는 배열 처리가 필수인데, Account [] account = new Account [10];로 배열을 선언하여 가입된 계정이 10개라고 가정하고 배열을 생성했습니다

생성된 배열에는 int accountCount변수를 선언하여 고객의 정보를 저장할 공간을,

int accountCurrent 변수는 로그인 관련 인덱스를 위한 공간을 위해 생성했습니다

accountCurrent 변수는 로그인 되지 않으면 -1 값을 가지며, 로그인되면 해당 인덱스가 알맞게 로그인된 사용자를 지정해주는 역할을 합니다

class Bank { public static int totalCount = 0 ; public String name = null ; public Account[] account = new Account[ 10 ]; public int accountCount = 0 ; public int accountCurrent = – 1 ; public Bank() { totalCount + + ; } public Bank( String name) { totalCount + + ; this .name = name; } public void accountAdd() { java.util. Scanner sc = new java.util. Scanner ( System . in ); System . out . println ( “가입을 원하는 id를 입력하세요” ); String id = sc.nextLine(); if (isId(id)) { // id 중복확인 System . out . println ( “중복된 아이디 입니다” ); return ; } System . out . println ( “가입을 원하는 pw를 입력하세요” ); String pw = sc.nextLine(); account[accountCount + + ] = new Account(id, pw); } private boolean isId( String id) { boolean returnValue = false ; for ( int i = 0 ; i < accountCount; i + + ) { if (account[i].id. equals (id)) { returnValue = true ; } ; } return returnValue; } public void logout() { // 로그아웃 accountCurrent = - 1 ; System . out . println ( "로그아웃 되었습니다" ); } public boolean login( String id, String pw) { // 로그인 // 아이디와 패스워드가 같은사람이 존재하면 true를 리턴한다 boolean returnValue = false ; for ( int i = 0 ; i < accountCount; i + + ) { if (account[i].isLogin(id, pw)) { returnValue = true ; accountCurrent = i; break ; } } // true면 로그인 성공, returnValue(false) 면 로그인 실패 return returnValue; } public void displayAll() { // 모든 계정을 보여주는 메소드 System . out . println ( "총 은행수:" + Bank.totalCount); System . out . println ( "현재 은행이름:" + name); for ( int i = 0 ; i < accountCount; i + + ) { account[i].display(); } } public void useAccount() { if (accountCurrent ! = - 1 ) { account[accountCurrent].menu(); } else { System . out . println ( "잘못된 접근입니다" ); } } public void menu() { // 은행 메뉴 java.util. Scanner sc = new java.util. Scanner ( System . in ); boolean flag = true ; while (flag) { System . out . println ( "1.계정등록 2.모든 계정 출력 3.로그인 4.로그아웃 5.계정삭제 6.종료" ); String stringInput = sc.nextLine(); switch (stringInput) { case "1" : accountAdd(); displayAll(); break ; case "2" : displayAll(); break ; case "3" : System . out . println ( " " ); System . out . println ( "어서오세요!" ); System . out . println ( "id를 입력하세요 ☞" ); String id = sc.nextLine(); System . out . println ( "pw를 입력하세요 ☞" ); String pw = sc.nextLine(); if (login(id, pw)) { System . out . println ( "로그인 되었습니다" ); useAccount(); } else { System . out . println ( "아이디 또는 비밀번호를 정확히 입력하세요" ); } break ; case "4" : logout(); break ; case "5" : if (accountCurrent ! = - 1 ) { System . out . println ( " " ); System . out . println ( "pw를 입력하세요" ); pw = sc.nextLine(); delect(pw); } else { System . out . println ( "로그인 하세요" ); } break ; case "6" : System . out . println ( "이용해주셔서 감사합니다" ); flag = false ; break ; default : System . out . println ( "잘못된 입력입니다" ); } } } public void delect( String pw) { // 로그인 한 상태에서 비밀번호만 입력하여 계정삭제 하는 방식 delect(account[accountCurrent].id, pw); } public void delect( String id, String pw) { // 아이디, 패스워드 모두 입력하여 계정삭제하는 방식 boolean flag = false ; for ( int i = 0 ; i < accountCount; i + + ) { if (account[i].isLogin(id, pw)) { accountCurrent = i; flag = true ; break ; } } if (flag = true ) { // 찾으면 삭제 for ( int i = accountCurrent; i + 1 < accountCount; i + + ) { account[i] = account[i + 1 ]; } Account.totalCount - - ; accountCount - - ; accountCurrent = - 1 ; System . out . println ( "삭제되었습니다" ); } else { System . out . println ( "삭제에 실패했습니다" ); } } } Colored by Color Scripter cs 메뉴 실행 Bank 클래스를 bk 변수로 선언한뒤 메뉴를 불러오면 은행관리 프로그램이 실행됩니다. 관리 은행명은 한국은행이라고 가정하였습니다 public class BankPr { public static void main( String [] args) { Bank bk = new Bank( "한국은행" ); bk.menu(); } } Colored by Color Scripter cs <전체 코드>

package com.human.ex; class Account { public static int totalCount = 0 ; public int money = 0 ; public String id = null ; public String pw = null ; public Account() { totalCount + + ; } public Account( String id, String pw) { this (); this .id = id; this .pw = pw; } public boolean isLogin( String id, String pw) { boolean retrunValue = false ; if ( this .id. equals (id) & & this .pw. equals (pw)) { retrunValue = true ; } return retrunValue; } public void display() { System . out . println ( “——————–” ); System . out . println ( “총 계정수:” + Account.totalCount); System . out . println ( “Id:” + id); System . out . println ( “Money:” + money); System . out . println ( “——————–” ); } public void add ( int money) { this .money = this .money + money; } public void minus( int money) { this .money = this .money – money; } public void menu() { java.util. Scanner sc = new java.util. Scanner ( System . in ); String inputString = null ; boolean falg = true ; while (falg) { System . out . println ( ” ” ); System . out . println ( “‘” + this .id + “‘ 고객님 환영합니다!” ); System . out . println ( “1.입금 2.출금 3.종료” ); inputString = sc.nextLine(); switch (inputString) { case “1” : System . out . println ( ” ” ); display(); System . out . println ( “입금액을 입력하세요” ); int money = Integer. parseInt (sc.nextLine()); add (money); System . out . println ( ” ” ); display(); break ; case “2” : System . out . println ( ” ” ); display(); System . out . println ( “출금액을 입력하세요” ); money = Integer. parseInt (sc.nextLine()); minus(money); System . out . println ( ” ” ); display(); break ; case “3” : System . out . println ( “사용을 종료하셨습니다” ); falg = false ; break ; default : System . out . println ( “잘못된 입력입니다” ); } } } } class Bank { public static int totalCount = 0 ; public String name = null ; public Account[] account = new Account[ 10 ]; public int accountCount = 0 ; public int accountCurrent = – 1 ; public Bank() { totalCount + + ; } public Bank( String name) { totalCount + + ; this .name = name; } public void accountAdd() { java.util. Scanner sc = new java.util. Scanner ( System . in ); System . out . println ( “가입을 원하는 id를 입력하세요” ); String id = sc.nextLine(); if (isId(id)) { // id 중복확인 System . out . println ( “중복된 아이디 입니다” ); return ; } System . out . println ( “가입을 원하는 pw를 입력하세요” ); String pw = sc.nextLine(); account[accountCount + + ] = new Account(id, pw); } private boolean isId( String id) { boolean returnValue = false ; for ( int i = 0 ; i < accountCount; i + + ) { if (account[i].id. equals (id)) { returnValue = true ; } ; } return returnValue; } public void logout() { accountCurrent = - 1 ; System . out . println ( "로그아웃 되었습니다" ); } public boolean login( String id, String pw) { boolean returnValue = false ; for ( int i = 0 ; i < accountCount; i + + ) { if (account[i].isLogin(id, pw)) { returnValue = true ; accountCurrent = i; break ; } } return returnValue; } public void displayAll() { System . out . println ( "총 은행수:" + Bank.totalCount); System . out . println ( "현재 은행이름:" + name); for ( int i = 0 ; i < accountCount; i + + ) { account[i].display(); } } public void useAccount() { if (accountCurrent ! = - 1 ) { account[accountCurrent].menu(); } else { System . out . println ( "잘못된 접근입니다" ); } } public void menu() { java.util. Scanner sc = new java.util. Scanner ( System . in ); boolean flag = true ; while (flag) { System . out . println ( "1.계정등록 2.모든 계정 출력 3.로그인 4.로그아웃 5.계정삭제 6.종료" ); String stringInput = sc.nextLine(); switch (stringInput) { case "1" : accountAdd(); displayAll(); break ; case "2" : displayAll(); break ; case "3" : System . out . println ( " " ); System . out . println ( "어서오세요!" ); System . out . println ( "id를 입력하세요 ☞" ); String id = sc.nextLine(); System . out . println ( "pw를 입력하세요 ☞" ); String pw = sc.nextLine(); if (login(id, pw)) { System . out . println ( "로그인 되었습니다" ); useAccount(); } else { System . out . println ( "아이디 또는 비밀번호를 정확히 입력하세요" ); } break ; case "4" : logout(); break ; case "5" : if (accountCurrent ! = - 1 ) { System . out . println ( " " ); System . out . println ( "pw를 입력하세요" ); pw = sc.nextLine(); delect(pw); } else { System . out . println ( "로그인 하세요" ); } break ; case "6" : System . out . println ( "이용해주셔서 감사합니다" ); flag = false ; break ; default : System . out . println ( "잘못된 입력입니다" ); } } } public void delect( String pw) { delect(account[accountCurrent].id, pw); } public void delect( String id, String pw) { boolean flag = false ; for ( int i = 0 ; i < accountCount; i + + ) { if (account[i].isLogin(id, pw)) { accountCurrent = i; flag = true ; break ; } } if (flag = true ) { for ( int i = accountCurrent; i + 1 < accountCount; i + + ) { account[i] = account[i + 1 ]; } Account.totalCount - - ; accountCount - - ; accountCurrent = - 1 ; System . out . println ( "삭제되었습니다" ); } else { System . out . println ( "삭제에 실패했습니다" ); } } } public class BankPr { public static void main( String [] args) { Bank bk = new Bank( "한국은행" ); bk.menu(); } } Colored by Color Scripter cs <실행화면>

실행화면 입니다

728×90

자바 ArrayList로 고객관리 프로그램 작성하기

1. 이전 주소로 외부에 공유된 글은

3개월간 새로운 주소로 연결을 지원하며

이후 언제든 연결이 끊길 수 있습니다.

2. 블로그 아이디는 한번 변경하면

다시 변경이 불가능합니다.

변경하시겠습니까?

회원관리 프로그램

미니 프로젝트

작성한 풀코드 = 깃허브

요구사항

오라클 DB와 연결하여 사용하는 프로그램 프로그램 실행시 저장된 회원정보를 모두 화면에 보이도록 한다. 저장 버튼 : 회원 정보 추가하기 검색 버튼 : 리스트에서 회원 선택시 해당 정보가 텍스트 필드에 나타나도록 한다. 삭제 버튼 : 텍스트 필드에 삭제할 이름을 작성하면 해당 데이터 삭제

5-1. 해당 레코드가 존재하지 않을 경우 예외처리 수정 버튼 : 선택한 데이터를 수정 지우기 버튼 : 데이터 내용을 모두 삭제

화면설계 예시

작성할 것

클래스는 3가지로 작성한다.

1. 화면설계 클래스 (ManagerGUI)

2. 회원 정보를 받고 내보내는 관리클래스 (MemberDTO)

3. 오라클 데이터베이스와 연결하고 사용하는 클래스 (MemberDAO)

회원 관리 클래스(MemberDTO)

필드에 관리해야할 회원의 정보 5가지 (이름, 나이, 체중, 키, 성별 )를 선언하고, setter-getter로 정보 관리

public class MemberDTO { String name ; int age ; int height ; int weight ; char sex ; 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 ; } public int getHeight ( ) { return height ; } public void setHeight ( int height ) { this . height = height ; } public int getWeight ( ) { return weight ; } public void setWeight ( int weight ) { this . weight = weight ; } public char getSex ( ) { return sex ; } public void setSex ( char sex ) { this . sex = sex ; } }

화면 설계 클래스(ManagerGUI)

아래 사진과 같이 상단에 원하는 제목이 나올 수 있게끔 fram = new Frame(“회원관리”) 와 같이 작성 구역을 나누기 위해 판넬을 나눠 준비한다

panel = new Panel [ 13 ] ; for ( int i = 0 ; i < panel . length ; i ++ ) { panel [ i ] = new Panel ( ) ; } 만약 frame.setSize(350, 500); 이 부분에서 설정한 크기가 너무 작다면, 설정한 버튼(저장 검색 삭제 수정 지우기) 부분이 안나오거나 잘려 보일 수도 있다. = 만약 버튼을 제대로 달아줬고, 에러도 나지 않았는데 실행시 화면에는 보이지 않는다면 창 사이즈를 변경해보자. 화면 구성하기 위해 필요한 것들을 작성 Font font = new Font ( "dialog" , Font . BOLD , 20 ) ; lblTitle . setFont ( font ) ; lblTitle . setForeground ( new Color ( 139 , 54 , 32 ) ) ; lblName = new Label ( "이름" ) ; lblAge = new Label ( "나이" ) ; lblHeight = new Label ( "키" ) ; lblWeight = new Label ( "체중" ) ; lblSex = new Label ( "성별" ) ; lblStatus = new Label ( "" ) ; lblStatus . setBackground ( Color . LIGHT_GRAY ) ; tfName = new TextField ( "" ) ; tfHeight = new TextField ( "" ) ; tfWeight = new TextField ( "" ) ; tfAge = new TextField ( "" ) ; btnSave = new Button ( "저장" ) ; btnSearch = new Button ( "검색" ) ; btnDelete = new Button ( "삭제" ) ; btnUpdate = new Button ( "수정" ) ; btnReset = new Button ( "지우기" ) ; 남/여 성별은 라디오 박스로 작성할 것 그룹 객체를 생성하기 위해 chGroup = new CheckboxGroup() 해주고, 버튼명, 속한 그룹, 기본값을 주어 아래와 같이 작성한다. chMale = new Checkbox("Male", chGroup, false); chFemale = new Checkbox("Female", chGroup, false); 화면을 조립하는 메소드 작성 private void launchFrame ( ) { panel [ 1 ] . setLayout ( new GridLayout ( 2 , 1 ) ) ; panel [ 1 ] . add ( lblName ) ; panel [ 1 ] . add ( lblHeight ) ; panel [ 2 ] . setLayout ( new GridLayout ( 2 , 1 ) ) ; panel [ 2 ] . add ( tfName ) ; panel [ 2 ] . add ( tfHeight ) ; panel [ 3 ] . setLayout ( new BorderLayout ( ) ) ; panel [ 3 ] . add ( panel [ 1 ] , "West" ) ; panel [ 3 ] . add ( panel [ 2 ] , "Center" ) ; panel [ 3 ] . add ( new Label ( "" ) , "East" ) ; . . . frame . pack ( ) ; frame . setResizable ( false ) ; frame . setSize ( 350 , 500 ) ; frame . setVisible ( true ) ; displayAll ( ) ; } 위 코드에서 displayAll(); 부분은 오라클 데이터베이스와 연결하여 실행되는 부분이다. list.removeAll(); 버튼을 통해 지속적으로 DB의 내용을 변화시킬 것이고, 변화한 내용을 불러와야 한다. 따라서 dispalyAll() 메소드를 호출한다면 화면 밑에 보여지는 리스트를 모두 지우는 것으로 시작한다. list.add(name+" "+age+" "+weight+" "+height+" "+sex); 화면에 보여질 부분이라 " " 이 공백 크기는 알아서 보기 좋게 조절하면 된다. private void displayAll ( ) { list . removeAll ( ) ; MemberDAO dao = new MemberDAO ( ) ; ArrayList < MemberDTO > allData = dao . select ( ) ; for ( MemberDTO dto : allData ) { String name = dto . getName ( ) ; int age = dto . getAge ( ) ; int height = dto . getHeight ( ) ; int weight = dto . getWeight ( ) ; char sex = dto . getSex ( ) ; list . add ( name + ” ” + age + ” ” + weight + ” ” + height + ” ” + sex ) ; } }

오라클과 자바(이클립스)를 연결하는 내용 = 깃허브 확인

오라클 DB와 연결하기(MemberDAO)

연결하기 위한 기본 값을 작성한다.

String driver = “oracle.jdbc.driver.OracleDriver” ; String url = “jdbc:oracle:thin:@localhost:1521:xe” ; String userid = “System” ; String passwd = “hb0317vd” ;

오라클을 자바에서 이용하기 위해 JVM에 올려주는데. 에러날 수 있으니 try-catch로 싸준 모습

public MemberDAO ( ) { try { Class . forName ( driver ) ; } catch ( ClassNotFoundException e ) { e . printStackTrace ( ) ; } }

화면에 지속적으로 노출 될 내용을 작성해준다

public ArrayList < MemberDTO > select ( ) { ArrayList < MemberDTO > list = new ArrayList < MemberDTO > ( ) ; Connection con = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; try { con = DriverManager . getConnection ( url , userid , passwd ) ; String query = “select * from member” ; pstmt = con . prepareStatement ( query ) ; rs = pstmt . executeQuery ( ) ; while ( rs . next ( ) ) { MemberDTO dto = new MemberDTO ( ) ; dto . setName ( rs . getString ( “name” ) ) ; dto . setAge ( rs . getInt ( “age” ) ) ; dto . setHeight ( rs . getInt ( “height” ) ) ; dto . setWeight ( rs . getInt ( “weight” ) ) ; dto . setSex ( rs . getString ( “sex” ) . charAt ( 0 ) ) ; list . add ( dto ) ; } } catch ( SQLException e ) { e . printStackTrace ( ) ; } finally { try { if ( rs != null ) { rs . close ( ) ; } if ( pstmt != null ) { pstmt . close ( ) ; } if ( con != null ) { con . close ( ) ; } } catch ( SQLException e ) { e . printStackTrace ( ) ; } } return list ; }

여기까지 작성하면 기본 작성은 끝났다. 이제 버튼에 기능을 달아주면 된다.

‘저장’ 버튼에 기능 넣어주기

먼저 ManagerGUI 에서 버튼을 눌렀을 때의 동작을 넣어준다.

btnSave . addActionListener ( new ActionListener ( ) { @Override public void actionPerformed ( ActionEvent e ) { String name = tfName . getText ( ) ; String age = tfAge . getText ( ) ; String height = tfHeight . getText ( ) ; String weight = tfWeight . getText ( ) ; String sex = “여” ; if ( chMale . getState ( ) ) { sex = “남” ; } MemberDAO dao = new MemberDAO ( ) ; dao . insert ( name , age , height , weight , sex ) ; displayAll ( ) ; } } ) ;

작성이 완료 되었으면 MemberDAO 로 넘어가 insert 메소드 작성

public void insert ( String name , String age , String height , String weight , String sex ) { Connection con = null ; PreparedStatement pstmt = null ; try { con = DriverManager . getConnection ( url , userid , passwd ) ; String query = “insert into member(name, age, height, weight, sex) values (?, ?, ?, ?, ?) ” ; pstmt = con . prepareStatement ( query ) ; pstmt . setString ( 1 , name ) ; pstmt . setInt ( 2 , Integer . parseInt ( age ) ) ; pstmt . setInt ( 3 , Integer . parseInt ( height ) ) ; pstmt . setInt ( 4 , Integer . parseInt ( weight ) ) ; pstmt . setString ( 5 , sex ) ; int result = pstmt . executeUpdate ( ) ; } catch ( SQLException e ) { e . printStackTrace ( ) ; } finally { try { if ( pstmt != null ) { pstmt . close ( ) ; } if ( con != null ) { con . close ( ) ; } } catch ( SQLException e ) { e . printStackTrace ( ) ; } } }

검색 – 예외처리

다른 버튼들도 이런식으로 작성해 주면된다.

단, 신경 써야 하는 부분은 만약 검색시 내용이 없다면 예외 처리를 해줘야 한다는 것이다. 여기서는 작은 창을 띄우기로 했다.

추가 작성할 내용

1. 예외처리 내용을 받을 RecordNotFoundException 클래스 생성

2. DAO 에 isExist 메소드 생성 후 DB에 해당 이름이 존재하는지 찾아보고 결과를 리턴한다.

먼저 메인 클래스에 버튼 누르는 동작을 작성한다.

btnSearch . addActionListener ( new ActionListener ( ) { @Override public void actionPerformed ( ActionEvent e ) { String name = tfName . getText ( ) ; MemberDTO dto = new MemberDTO ( ) ; MemberDAO dao = new MemberDAO ( ) ; try { dto = dao . search ( name ) ; } catch ( RecordNotFoundException e1 ) { final Dialog dialog = new Dialog ( frame , “경고” ) ; dialog . setLayout ( new FlowLayout ( ) ) ; dialog . setSize ( 300 , 80 ) ; dialog . setTitle ( e1 . getMessage ( ) ) ; Button btnOk = new Button ( “확인” ) ; btnOk . addActionListener ( new ActionListener ( ) { @Override public void actionPerformed ( ActionEvent e ) { dialog . dispose ( ) ; } } ) ; dialog . add ( btnOk ) ; dialog . setVisible ( true ) ; } tfName . setText ( dto . getName ( ) ) ; tfAge . setText ( Integer . toString ( dto . getAge ( ) ) ) ; tfHeight . setText ( Integer . toString ( dto . getHeight ( ) ) ) ; tfWeight . setText ( Integer . toString ( dto . getWeight ( ) ) ) ; String sex = Character . toString ( ( dto . getSex ( ) ) ) ; if ( sex . equals ( “여” ) ) { chFemale . setState ( true ) ; } else { chMale . setState ( true ) ; } displayAll ( ) ; } } ) ;

예외처리를 받을 클래스 생성

public class RecordNotFoundException extends Exception { public RecordNotFoundException ( String message ) { super ( message ) ; } }

DB에 검색한 이름이 있는지 확인 할 메소드를 작성해준다.

있다/없다만 확인하면 되기때문에 클래스 타입은 Boolean으로 작성

public boolean isExist(String name) {

필드에 기본값으로 boolean result = false; 선언 및 초기화

DB와 연결하기 위해 기본적으로

Connection con = null;

PreparedStatement pstmt = null;

ResultSet rs = null; 을 선언 및 초기화 해준다.

DB에 로그인 하기 위해 아래와 같이 작성하고

con = DriverManager.getConnection(url, userid, passwd)

이름을 키로 하여 검색할 SQL 문을 작성해준다

“select * from member where name=?”

하여 리턴을 받아 값이 있다면 false였던 result의 값을 true로 변경해준다.

[Java 언어 활용] 3.6 ArrayList 클래스

반응형

[Java 언어 활용] 3.6 ArrayList 클래스

Java 언어에서는 순차 리스트를 구현한 ArrayList 클래스를 제공하고 있습니다. ArrayList는 내부 저장소가 배열처럼 연속적인 메모리 형태입니다. 그리고 저장소의 크기를 변화할 수 있다는 특징이 있습니다. 이러한 점은 앞에서 다룬 Vector 클래스와 차이가 없습니다.

실제 Vector 클래스와 ArrayList 클래스는 거의 모든 부분에서 비슷합니다. 차이가 있는 부분은 동기화를 할 수 있는가 여부입니다. 여기서 얘기하는 동기화란 여러 개의 스레드에서 공유 자원을 경쟁하여 사용할 때 개발자가 임계 영역에 진입하고 나가는 것을 제어하여 자원 경쟁 문제에서의 교착 상태 발생등을 방지하는 것을 말합니다.

따라서 멀티 스레드를 이용하여 비동기 프로그래밍을 한다고 할 때 컬렉션을 여러 스레드에서 경쟁해서 사용한다면 Vector 클래스를 사용하시기 바랍니다. 그렇지 않다면 어느 것을 사용해도 무방합니다. ArrayList의 속도가 다소 빠르다고 하지만 큰 의미를 갖는 정도는 아닙니다.

다음은 3.4에서 다루었던 소스 3.4에서 Vector 개체를 생성하는 부분만 ArrayList로 변경한 코드입니다. 다른 부분에 코드를 변경하지 않아도 잘 동작하는 것을 알 수 있습니다.

import java.util.Scanner;

//import java.util.Vector;

import java.util.ArrayList;

public class MemberManager {

Scanner scan = new Scanner(System.in);

//Vector members = new Vector();

ArrayList members = new ArrayList();

… 이후 내용은 차이가 없음…

▷ 소스 3.8 ArrayList를 이용한 회원 관리 프로그램

//Member.java //회원 클래스 public class Member { final int num; String name; public Member(int num, String name){ this.num = num; this.name = name; } public int getNum(){ return num; } public String toString(){ return String.format(“번호:%d 이름:%s”, num,name); } } //MemberManager.java //회원 관리자 클래스 import java.util.Scanner; //import java.util.Vector; import java.util.ArrayList; public class MemberManager { Scanner scan = new Scanner(System.in); //Vector members = new Vector(); ArrayList members = new ArrayList(); public void Run(){ int key = 0; while((key = selectMenu())!=0){ switch(key){ case 1: addMember(); break; case 2: removeMember(); break; case 3: searchMember(); break; case 4: listMember(); break; default: System.out.println(“잘못 선택하였습니다.”); break; } } System.out.println(“종료합니다…”); } int selectMenu(){ System.out.println(“1:추가 2:삭제 3:검색 4:목록 0:종료”); int key = scan.nextInt(); scan.nextLine(); return key; } void addMember(){ int num = 0; String name=””; System.out.print(“추가할 회원 번호:”); num = scan.nextInt(); scan.nextLine(); System.out.print(“회원 이름:”); name = scan.nextLine(); Member member =new Member(num,name); members.add(member); System.out.println(member.toString()+” 생성하였습니다.”); } void removeMember(){ int num = 0; System.out.print(“삭제할 회원 번호:”); num = scan.nextInt(); scan.nextLine(); Member member = Find(num); if(member == null){ System.out.println(“존재하지 않습니다.”); return; } members.remove(member); System.out.println(member.toString()+” 삭제하였습니다.”); } void searchMember(){ int num = 0; System.out.print(“검색할 회원 번호:”); num = scan.nextInt(); scan.nextLine(); Member member = Find(num); if(member == null){ System.out.println(“존재하지 않습니다.”); return; } System.out.println(“검색 결과>>”+member.toString()); } void listMember(){ System.out.println(“전체 목록”); int cnt = members.size(); System.out.println(“회원 수:”+cnt); for(Member member : members){ System.out.println(member.toString()); } } Member Find(int num){ int cnt = members.size(); for(Member member : members){ if(member.getNum() == num){ return member; } } return null; } } //Program.java //ArrayList 클래스 사용한 회원 관리 프로그램 public class Program { public static void main(String[] args){ MemberManager mm = new MemberManager(); mm.Run(); } }

▷ 소스 3.8 실행 결과

1:추가 2:삭제 3:검색 4:목록 0:종료 1 추가할 회원 번호:3 회원 이름:홍길동 번호:3 이름:홍길동 생성하였습니다. 1:추가 2:삭제 3:검색 4:목록 0:종료 1 추가할 회원 번호:2 회원 이름:강감찬 번호:2 이름:강감찬 생성하였습니다. 1:추가 2:삭제 3:검색 4:목록 0:종료 4 전체 목록 회원 수:2 번호:3 이름:홍길동 번호:2 이름:강감찬 1:추가 2:삭제 3:검색 4:목록 0:종료 3 검색할 회원 번호:2 검색 결과>>번호:2 이름:강감찬 1:추가 2:삭제 3:검색 4:목록 0:종료 2 삭제할 회원 번호:2 번호:2 이름:강감찬 삭제하였습니다. 1:추가 2:삭제 3:검색 4:목록 0:종료 4 전체 목록 회원 수:1 번호:3 이름:홍길동 1:추가 2:삭제 3:검색 4:목록 0:종료 0 종료합니다…

반응형

자바스터디 5주차 (2) [스터디관리 프로그램 구현]

728×90

반응형

2021.06.11 – [Study/Java Study] – [자바스터디] 5주차 (1) [객체지향으로 스터디관리 프로그램 만들기] – 조건 (흐름)

StudyVO.java

package StudyProgram; public class StudyVO { private String memberCode; // 회원번호 private String memberName; // 회원이름 private String joinDate; // 가입날짜 private int deposit; // 보증금 private String studyDate; // 스터디날짜 private String chapter; // 챕터정리 private String task; // 과제 private String chk1; // 중간점검 private String chk2; // 최종점검 private int fine; // 벌금 private int balance; // 잔액 public String getMemberCode() { return memberCode; } public void setMemberCode(String memberCode) { this.memberCode = memberCode; } public String getMemberName() { return memberName; } public void setMemberName(String memberName) { this.memberName = memberName; } public String getJoinDate() { return joinDate; } public void setJoinDate(String joinDate) { this.joinDate = joinDate; } public int getDeposit() { return deposit; } public void setDeposit(int deposit) { this.deposit = deposit; } public String getStudyDate() { return studyDate; } public void setStudyDate(String studyDate) { this.studyDate = studyDate; } public String getChapter() { return chapter; } public void setChapter(String chapter) { this.chapter = chapter; } public String getTask() { return task; } public void setTask(String task) { this.task = task; } public String getChk1() { return chk1; } public void setChk1(String chk1) { this.chk1 = chk1; } public String getChk2() { return chk2; } public void setChk2(String chk2) { this.chk2 = chk2; } public int getFine() { return fine; } public void setFine(int fine) { this.fine = fine; } public int getBalance() { return balance; } public void setBalance(int balance) { this.balance = balance; } @Override public String toString() { return “StudyVO [memberCode=” + memberCode + “, memberName=” + memberName + “, joinDate=” + joinDate + “, deposit=” + deposit + “, studyDate=” + studyDate + “, chapter=” + chapter + “, task=” + task + “, chk1=” + chk1 + “, chk2=” + chk2 + “, fine=” + fine + “, balance=” + balance + “]”; } }

StudyInfo.java

package StudyProgram; public interface StudyInfo { public void joinStudy(StudyVO[] std); public void inputStudy(StudyVO[] std); public void updateStudy(StudyVO[] std); public void deleteStudy(StudyVO[] std); public void outputFine(StudyVO[] std); public void outputStudy(StudyVO[] std); }

StudyInfoIm.java

package StudyProgram; import java.util.Scanner; public class StudyInfoIm implements StudyInfo { Scanner scan = new Scanner(System.in); static int cnt = 0; static String deleteMem = “del”; @Override public void joinStudy(StudyVO[] std) { System.out.println(“>>가입<<"); System.out.print("회원번호 : "); String memberCode = scan.nextLine(); if (cnt > 0) { for (int i = 0; i < cnt; i++) { if (std[i].getMemberCode().equals(memberCode)) { System.out.println("중복회원!!!!"); return; } } } std[cnt].setMemberCode(memberCode); System.out.print("회원이름 : "); String memberName = scan.nextLine(); std[cnt].setMemberName(memberName); System.out.print("보증금 : "); int deposit = scan.nextInt(); std[cnt].setDeposit(deposit); scan.nextLine(); System.out.print("가입날짜 : "); String joinDate = scan.nextLine(); std[cnt].setJoinDate(joinDate); cnt++; System.out.println(">>>가입완료.”); System.out.println(); } @Override public void inputStudy(StudyVO[] std) { System.out.println(“>>정보입력<<"); System.out.print("회원번호 : "); String memberCode = scan.nextLine(); if (cnt > 0) { for (int i = 0; i <= cnt; i++) { if (std[i].getMemberCode().equals(memberCode)) { System.out.println("회원번호 : " + std[i].getMemberCode()); System.out.print("스터디날짜 : "); String studyDate = scan.nextLine(); std[i].setStudyDate(studyDate); System.out.print("챕터정리 : "); String chapter = scan.nextLine(); std[i].setChapter(chapter); System.out.print("과제 :"); String task = scan.nextLine(); std[i].setTask(task); System.out.print("중간점검 :"); String chk1 = scan.nextLine(); std[i].setChk1(chk1); System.out.print("최종점검 :"); String chk2 = scan.nextLine(); std[i].setChk2(chk2); System.out.println(); return; } } } else { System.out.println(); System.out.println("가입을 먼저해주세요."); System.out.println(); } } @Override public void updateStudy(StudyVO[] std) { System.out.println(">>정보수정<<"); System.out.print("회원번호 : "); String memberCode = scan.nextLine(); if (cnt > 0) { for (int i = 0; i <= cnt; i++) { if (std[i].getMemberCode().equals(memberCode)) { System.out.println("회원번호 : " + std[i].getMemberCode()); System.out.print("스터디날짜 : "); String studyDate = scan.nextLine(); std[i].setStudyDate(studyDate); System.out.print("챕터정리 : "); String chapter = scan.nextLine(); std[i].setChapter(chapter); System.out.print("과제 :"); String task = scan.nextLine(); std[i].setTask(task); System.out.print("중간점검 :"); String chk1 = scan.nextLine(); std[i].setChk1(chk1); System.out.print("최종점검 :"); String chk2 = scan.nextLine(); std[i].setChk2(chk2); System.out.println(); return; } } } else { System.out.println(); System.out.println("가입을 먼저해주세요. "); } } public void fineChk(StudyVO[] std) { String x = "x"; int fine = 2500; int totFine = 0; if (cnt > 0) { for (int i = 0; i < cnt; i++) { if (x.equals(std[i].getChapter())) { totFine += fine; } if (x.equals(std[i].getTask())) { totFine += fine; } if (x.equals(std[i].getChk1())) { totFine += fine; } if (x.equals(std[i].getChk2())) { totFine += fine; } std[i].setFine(totFine); std[i].setBalance(std[i].getDeposit() - std[i].getFine()); totFine = 0; } } } @Override public void deleteStudy(StudyVO[] std) { System.out.println(">>탈퇴<<"); System.out.print("회원번호 : "); String memberCode = scan.nextLine(); if (cnt > 0) { for (int i = 0; i < cnt; i++) { if (std[i].getMemberCode().equals(memberCode)) { std[i].setMemberCode(deleteMem); } } } } @Override public void outputFine(StudyVO[] std) { for (int i = 0; i < cnt; i++) { if (std[i].getFine() == 0) { } else { System.out.printf("%4s %5s %7s %5d", std[i].getMemberCode(), std[i].getMemberName(), std[i].getStudyDate(), std[i].getFine()); System.out.println(" -------------------------------"); } } } @Override public void outputStudy(StudyVO[] std) { for (int i = 0; i < cnt; i++) { if (deleteMem.equals(std[i].getMemberCode())) { } else { System.out.printf("%5s %5s %6d %6s %6s %6s %6s %6s %5d %5d", std[i].getMemberCode(), std[i].getMemberName(), std[i].getDeposit(), std[i].getStudyDate(), std[i].getChapter(), std[i].getTask(), std[i].getChk1(), std[i].getChk2(), std[i].getFine(), std[i].getBalance()); System.out.println(" ----------------------------------------------------------------------------"); } } } } StudyMain.java package StudyProgram; import java.util.Scanner; public class StudyMain { final static int SIZE = 100; public static void main(String[] args) { StudyInfoIm info = new StudyInfoIm(); StudyVO std[] = new StudyVO[SIZE]; int menu; while (true) { menu(); Scanner scan = new Scanner(System.in); System.out.print("메뉴 선택 :"); menu = scan.nextInt(); System.out.println(); switch (menu) { case 1: join(info, std); break; case 2: input(info, std); break; case 3: update(info, std); break; case 4: delete(info, std); break; case 5: outputFine(info, std); break; case 6: outputStudy(info, std); break; default: System.out.println("메뉴를 다시 선택하세요!!! "); } } } static void menu() { System.out.println("메뉴"); System.out.println(" 1.스터디가입"); System.out.println(" 2.정보입력"); System.out.println(" 3.정보수정"); System.out.println(" 4.스터디탈퇴"); System.out.println(" 5.벌금현황"); System.out.println(" 6.스터디현황"); System.out.println(" 7.종료"); System.out.println(); } static void join(StudyInfoIm info, StudyVO[] std) { std[info.cnt] = new StudyVO(); info.joinStudy(std); } static void input(StudyInfoIm info, StudyVO[] std) { info.inputStudy(std); info.fineChk(std); } static void update(StudyInfoIm info, StudyVO[] std) { info.updateStudy(std); info.fineChk(std); } static void delete(StudyInfoIm info, StudyVO[] std) { info.deleteStudy(std); } static void outputFine(StudyInfoIm info, StudyVO[] std) { int totFine = 0; int noFineCnt = 0; System.out.println("==============================="); System.out.println(" 벌금내역"); System.out.println("==============================="); System.out.println("회원번호 | 회원이름 | 스터디날짜 | 벌금"); System.out.println("-------------------------------"); info.outputFine(std); for (int i = 0; i < info.cnt; i++) { if (std[i].getFine() == 0) { noFineCnt++; }else { totFine += std[i].getFine(); } } System.out.printf("총 인원 : %s 총 벌금 : %4d", info.cnt - noFineCnt, totFine); System.out.println(); } static void outputStudy(StudyInfoIm info, StudyVO[] std) { int totDeposit = 0; int totFine = 0; int totBalance = 0; System.out.println("============================================================================"); System.out.println(" 스터디관리"); System.out.println("============================================================================"); System.out.println("회원번호 | 회원이름 | 보증금 | 스터디날짜 | 챕터정리 | 과제 | 중간점검 | 최종점검 | 벌금 | 잔액"); System.out.println("----------------------------------------------------------------------------"); info.outputStudy(std); for (int i = 0; i < info.cnt; i++) { totDeposit += std[i].getDeposit(); totFine += std[i].getFine(); totBalance += std[i].getBalance(); } System.out.printf("\t\t 총 보증금 : %4d 총 벌금 : %4d 총 잔액 : %4d", totDeposit, totFine, totBalance); System.out.println(); } } 728x90 반응형

키워드에 대한 정보 자바 회원 관리 프로그램

다음은 Bing에서 자바 회원 관리 프로그램 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [자바 기초 강의] 41강 회원 관리 프로그램1

  • 코딩
  • 코딩 강의
  • 코딩 교육
  • SONOL
[자바 #기초 #강의] #41강 #회원 #관리 #프로그램1


YouTube에서 자바 회원 관리 프로그램 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [자바 기초 강의] 41강 회원 관리 프로그램1 | 자바 회원 관리 프로그램, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  레이 중고차 가격 | 2022년도에는 레이 중고로 얼마면살수있을까? 23795 좋은 평가 이 답변

Leave a Reply

Your email address will not be published. Required fields are marked *