이번에는 자바의 기초 while문자, for each, array list문 등을 이용해서 학생정보 관리 프로그램이다.
알고리즘 기초를 공부할때 도움이 될거같다.
상세한 내용은 주석에 잘 써놨으니까 참고할려면 참고하면 되겠다.
studnt 클래스 이지만 편의상 Algorithms_12 로 대체했다.
메인클래스 Algorithms 의 변수선언 부분 (너무길어서 자름)
변수 선언 이후에 While 안에 While문
Algorithms_12 코드
//student라고 해야하지만 클래스관리 편의상 Algorighms_12로 대체
public class Algorithms_12 {
//웬만하면 Private으로
private String name;
private String no;
//생성메소드
public Algorithms_12(String name, String no) {
super();
this.name = name;
this.no = no;
}
//get.set메소드
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
}
메인코드 Algorithms
//학생 정보들을 저장하고, 학생이름으로 검색했을 때 학번을 출력하는 프로그램
//Student 클래스 생성
//String name, no를 가짐 (이름과 학번)
//학생들을 ArrayList에 저장한 이후
//계속 검색을 하겠느냐 y -> 반복 / n -> 프로그램 종료
//학생 이름이 있는 경우 그 학생의 학번을 출력 / 없으면 없는 학생이름 이라고 출력
//배열리스트 사용하기
import java.util.ArrayList;
import java.util.Scanner;
public class Algorithms_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//배열리스트 생성할 때 두번째 클래스를 참조하여 만들기
ArrayList <Algorithms_12> list = new ArrayList<Algorithms_12>();
int ans = 0; //답변변수
boolean flag = false; //게임 종료 선언 변수
while(true) {
System.out.println("[1] 학생 정보 조회 [2] 학생 정보 등록");
ans = sc.nextInt();
//학생정보 조회
if(ans==1) {
System.out.println("조회하실 학생 이름을 입력해주세요");
String name = sc.next();
//리스트 배열이 존재한다면 (저장된 학생 정보가 있다면)
if(list.size()!= 0) {
//for each문 사용해서 입력받은 이름과 동일한 정보가 있는지 훑어보기
for(Algorithms_12 stu : list) { //Algorithms_12 참조하여 stu 변수를 이용해 list를 0부터 size까지 반복실행
if(stu.getName().equals(name)) { //문자열 내용 같은지 비교할때는 .equals()를 이용해야 한다
System.out.println(stu.getName()+" 학생의 학번은 "+stu.getNo()+"입니다.");
}
}
} //정보가 없다면 정보가 존재하지 않다고 상태 출력
else System.out.println("해당 학생의 정보가 존재하지 않습니다.");
}
//학생정보 등록
else if(ans==2) {
System.out.println("등록하실 학생 이름을 입력해주세요.");
String stuname = sc.next();
System.out.println("등록하실 학생 학번을 입력해주세요.");
String number = sc.next();
//객체 생성 후에
Algorithms_12 std = new Algorithms_12(stuname,number);
//리스트에 추가하기
list.add(std);
}
else {
System.out.println("잘못 입력하였습니다.");
}
//계속할지 물어보기
while(true) {
System.out.println("계속 하시겠습니까? [Y/N]");
String final_ans = sc.next();
if(final_ans.equals("N")||final_ans.equals("n")) {
//n일 경우 flag 종료신호로 바꾸고, 해당 반복문 종료
flag=true;
break;}
if(final_ans.equals("Y")||final_ans.equals("y")) {
flag=false;
//y일 경우 해당 반복문만 종료
break;
}
else if(!(final_ans.equals("Y")||final_ans.equals("y")
||final_ans.equals("N")||final_ans.equals("n"))) {
System.out.println("다시 입력해주세요.");
}
}
//
if(flag) break;
}
System.out.println("시스템이 종료되었습니다.");
}
}
뭔말임지 모르겠어요
잘 따라해보세요