반응형
- C1203메서드클래스배열_개념
- C1203개념01클래스배열
package C1203메서드클래스배열_개념;
class Product{
String name;
int price;
void init(String name , int price) {
this.name = name;
this.price = price;
}
void printData() {
System.out.println(name + " " + price);
}
}
public class C1203개념01클래스배열 {
public static void main(String[] args) {
// 클래스 = 사용자 정의 데이터 타입
int[] list = new int[2];
// Product 클래스 데이터타입을
// 저장할 방 2개를 생성해줘~
// 아직 Product 클래스가 생성된 것은 X
Product[] prList = new Product[2];
System.out.println(prList[0]); // null
System.out.println(prList[1]); // null
// 아래 두 줄의 코드를 잊지말고 꼭 작성하자!
prList[0] = new Product();
prList[1] = new Product();
prList[0].name = "새우깡";
prList[1].name = "고래밥";
prList[0].price = 1000;
prList[1].price = 2000;
for(int i = 0; i < prList.length; i++) {
prList[i].printData();
}
System.out.println("----------------------");
Product[] prList2 = new Product[2];
prList2[0] = new Product();
prList2[1] = new Product();
prList2[0].init("새우깡", 1000);
prList2[1].init("고래밥", 2000);
for(int i = 0; i < prList.length; i++) {
prList2[i].printData();
}
}
}
- C1203개념02클래스배열
package C1203메서드클래스배열_개념;
class User{
String name;
int score;
void init(String name, int score) {
this.name = name;
this.score = score;
}
void printData() {
System.out.println(name + " : " + this.score);
}
}
public class C1203개념02클래스배열 {
public static void main(String[] args) {
User[] list = new User[3];
for(int i = 0; i < list.length; i++) {
list[i] = new User();
}
list[0].init("김철수",100);
list[1].init("이만수",20);
list[2].init("박영희",70);
for(int i = 0 ; i < list.length; i++) {
list[i].printData();
}
}
}
- C1203개념03중복숫자
package C1203메서드클래스배열_개념;
import java.util.Random;
class RanNum{
int num;
boolean check; // false
void print() {
System.out.println(num + " ");
}
}
public class C1203개념03중복숫자 {
public static void main(String[] args) {
// 문제) RanNum 클래스를 활용해서 중복숫자금지 출력
// num에 1~5사이숫자를 랜덤으로 저장한다. (조건 중복숫자금지)
Random ran = new Random();
RanNum[] ranList = new RanNum[5];
for(int i=0; i<ranList.length; i++) {
ranList[i] = new RanNum();
}
for(int i=0; i<ranList.length; i++) {
int rNum = ran.nextInt(5);
if(ranList[rNum].check == false) {
ranList[rNum].num = i + 1;
ranList[rNum].check = true;
} else {
i -= 1;
}
}
for(int i=0; i<ranList.length; i++) {
ranList[i].print();
}
}
}
- C1203개념04예매
package C1203메서드클래스배열_개념;
import java.util.Scanner;
class Seat {
int num;
boolean check;
void setData(int num , boolean check) {
this.num = num;
this.check = check;
}
void showNum() {
System.out.print(num + " ");
}
void showData() {
if(check == true) {
System.out.print("■ ");
} else {
System.out.print("□ ");
}
}
}
public class C1203개념04예매 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
boolean run = true;
Seat[] seatList = new Seat[8];
for(int i = 0; i < seatList.length; i++) {
seatList[i] = new Seat();
seatList[i].setData(i + 1, false);
}
while(run) {
for(int i = 0; i< seatList.length; i++) {
seatList[i].showNum();
}
System.out.println();
for(int i = 0; i< seatList.length; i++) {
seatList[i].showData();
}
System.out.println();
System.out.print("번호를 입력하세요 >>>");
int sel = scan.nextInt();
sel -= 1;
if(seatList[sel].check == false) {
seatList[sel].check = true;
}
}
}
}
- C1203개념05회원관리
package C1203메서드클래스배열_개념;
import java.util.Scanner;
class Member{
String id;
String name;
void printMember() {
System.out.println(id + " : " + name);
}
}
public class C1203개념05회원관리 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Member[] memberList = new Member[100];
int memberCount = 0;
while(true) {
System.out.println("[1]추가 [2]삭제 [3]출력 [0]종료");
int sel = scan.nextInt();
if(sel == 1) {
Member member = new Member();
System.out.print("아이디 입력 : ");
member.id = scan.next();
System.out.print("이름 입력 : ");
member.name = scan.next();
memberList[memberCount] = member;
memberCount += 1;
} else if(sel == 2) {
System.out.print("아이디 입력 : ");
String id = scan.next();
int index = -1;
for(int i=0; i<memberCount; i++) {
if(memberList[i].id.equals(id)) {
index = i;
break;
}
}
if(index == -1) {
System.out.println("아이디 입력 오류");
} else {
for(int i=index; i<memberCount - 1; i++) {
memberList[i] = memberList[i + 1];
}
memberCount -= 1;
}
} else if(sel == 3) {
for(int i=0; i<memberCount; i++) {
memberList[i].printMember();
}
} else if(sel == 0) {
break;
}
}
scan.close();
}
}
- C1205메서드클래스배열_암기3.copy
- _MemberMain
package C1205메서드클래스배열_암기3.copy;
public class _MemberMain {
public static void main(String[] args) {
MemberController controller = new MemberController();
controller.init();
controller.run();
}
}
- Member
package C1205메서드클래스배열_암기3.copy;
public class Member {
//여기다가 개별 저장?
String id;
String pw;
String name;
void printMember() {
System.out.println(id+" : "+pw+" : "+name);
}
}
- MemberController
package C1205메서드클래스배열_암기3.copy;
import java.util.Scanner;
public class MemberController {
Scanner scan;
MemberDAO memberDAO;
void init() { //dao 만들기
//new 시킨것
scan = new Scanner(System.in); // 스캐너
memberDAO = new MemberDAO(); // 디에이오
memberDAO.init(100); // 100 이들어가네
}
void run() {
while(true) {
System.out.println("[1]추가 [2]삭제 [3]수정 [4]출력 [0]종료");
int sel = scan.nextInt();// 명령어
if(sel == 1) {
memberDAO.join();
}else if(sel == 2) {
memberDAO.delete();
}else if(sel == 3) {
memberDAO.update();
}else if(sel == 4) {
memberDAO.printAll();
}else if(sel == 0) {
System.out.println("[종료]");
break;
}
}
}
}
- MemberDAO
package C1205메서드클래스배열_암기3.copy;
import java.util.Scanner;
public class MemberDAO {
//변수 설정?
Scanner scan;
int max;
int memberCount;
Member[] memberList;
void init(int size) { //배열 100칸
scan = new Scanner(System.in);
max = size;
memberList = new Member[max]; // 100개 생김 머리만
memberCount = 0;
}
int checkMember(String id) {//아이디 검사 //아이디가 있으면 i 인덱스가 나온다.
int check = -1;
for(int i = 0; i<memberCount; i++) {
if(id.equals(memberList[i].id)) {
check = i;
break;
}
}
return check;
}
int checkMember(String id, String pw) {
int check = -1;
for(int i = 0; i<memberCount; i++) {
if(id.equals(memberList[i].id)&&pw.equals(memberList[i].pw)) {
check = i;
break;
}
}
return check;
}
//----------------------------------------------------------
void join() {
System.out.println("[추가] 아이디 입력 : ");
String id = scan.next();
if(checkMember(id) != -1) {
System.out.println("[아이디가 중복됩니다.!]");
}else {
System.out.println("[추가] 비밀번호 입력 : ");
String pw = scan.next();
System.out.println("[추가] 이름 입력 : ");
String name = scan.next();
Member member = new Member();
member.id = id;
member.pw = pw;
member.name = name;
memberList[memberCount] = member;
memberCount += 1;
System.out.println("[추가 성공!]");
}
}
//----------------------------------------------------------
void delete() {
System.out.println("[삭제] 아이디 입력 : ");
String id = scan.next();
int index = checkMember(id);
if(index != -1) {
for(int i = index; i<memberCount -1; i++) {
memberList[i] = memberList[i+1];
}
memberCount -= 1;
System.out.println("[삭제성공!]");
}else {
System.out.println("[없는 아이디 입니다.]");
}
}
//----------------------------------------------------------
void update() {
System.out.println("[수정]아이디 입력 : ");
String id = scan.next();
System.out.println("[수정]비밀번호 입력 : ");
String pw = scan.next();
int index = checkMember(id,pw);
if(index != -1) {
System.out.println("[수정] 이름 입력 : ");
String name = scan.next();
memberList[index].name = name;
System.out.println("[수정 완료!]");
}else {
System.out.println("[아이디와 비밀번호를 확인해주세요]");
}
}
//----------------------------------------------------------
void printAll() {
for(int i = 0; i<memberCount; i++) {
memberList[i].printMember();
}
}
}
반응형
'코딩 > 2-JAVA' 카테고리의 다른 글
C14콜렉션 => C1401가변배열_개념 (0) | 2025.07.07 |
---|---|
C13파일입출력 (0) | 2025.07.07 |
C1202메서드리턴_개념 (1) | 2025.07.03 |
C1201메서드_개념 (0) | 2025.07.03 |
C1103클래스배열_문자열 , C1104클래스배열_심화 (1) | 2025.07.03 |