728x90
import java.util.ArrayList;
import java.util.Scanner;
public class students {
public static void main(String[] args) {
int number;
int ID;
String name;
String birth;
String major;
int PW;
int i = 0;
ArrayList<ArrayList> students = new ArrayList<ArrayList>();
ArrayList Infos = new ArrayList();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("관리자이시면 1번을 학생이시면 2번을 눌러주세요. 종료하시려면 0번을 누르세요.");
number = sc.nextInt();
if (number == 1) {
System.out.println("비밀번호를 입력하세요.");
PW = sc.nextInt();
while (true) {
if (PW == 11111) {
System.out.println("학생 이름을 입력하세요.");
name = sc.next();
System.out.println(name + " 학생의 생년월일을 입력하세요( 예: 99.01.01 ).");
birth = sc.next();
System.out.println(name + " 학생 학과를 입력하세요.");
major = sc.next();
Infos.add(name);
Infos.add(birth);
Infos.add(major);
students.add(i, Infos);
System.out.println("학생 학번 : " + (i+1) + " 번" + "\n학생의 이름 : " + name + "\n학생 생년월일 : " + birth + "\n학생 학과 : " + major);
// System.out.println("학생 이름 : " + students.get(ID).get(0) + "\n학생 생년월일 : " + students.get(ID).get(1) + "\n학생 학과 : " + students.get(ID).get(2));
i++;
System.out.println("정보를 더 입력하시려면 1번을 메인 화면으로 돌아가시려면 2번을 눌러주세요.");
number = sc.nextInt();
if (number == 1) {
continue;
} else {
break;
}
} else {
System.out.println("잘못 입력하셨습니다. 다시 시도해주세요.");
break;
}
}
} else if (number == 2) {
System.out.println("학번을 입력하세요.");
ID = sc.nextInt();
ID = i;
System.out.println("학생 이름 : " + students.get(ID-1).get(0) + "\n학생 생년월일 : " + students.get(ID-1).get(1) + "\n학생 학과 : " + students.get(ID-1).get(2));
} else if (number == 0) {
break;
} else {
System.out.println("잘못 입력하셨습니다. 다시 시도해주세요.");
}
}
}
}
아직 완성은 아니다.
클론 코딩이 아닌 내 힘으로 해낸 코딩인 게 의미가 있다고 판단해서 올려본다.
이 문제를 해결하기 위해 같은 결과를 출력해내는 다른 프로그램을 짜볼 것이다.
원래는 i의 숫자를 하나씩 증가시키면서 이 숫자가 곧 학번인 식으로 코딩을 했는데,
다음에는 map을 이용해 학번을 지정해주는 방식을 이용해보겠다.
<가장 큰 문제점>
1. 학생 입장에서 학번을 검색하면 아무리 다른 숫자를 넣어도 학번 1번인 학생의 정보만 출력됨.
2. if문이 과도하게 많이 사용됨.
728x90
'언어 > java' 카테고리의 다른 글
[이클립스] Eclipse 빨간줄, 노란줄, 초록줄 형광펜 없애기 (0) | 2023.09.19 |
---|---|
[java] 학생 관리 프로그램 (4) - db 연결 후 select (0) | 2022.04.24 |
[java] 학생 관리 프로그램 (3) - db 연결 후 insert, update, delete (0) | 2022.04.24 |
[java] 학생 관리 프로그램 (2) (0) | 2022.04.24 |
[java] 중복 없는 숫자 랜덤 생성기 (0) | 2022.04.24 |