본문 바로가기

공부/알고리즘

알고리즘 연습 1

반응형

학생정보들을 저장하고, 학생이름으로 검색했을때 학번을 출력하는 프로그램 작성. -

Student 클래스 생성

String name, no를 가짐 (이름과 학번)

학생들을 ArrayList에 저장

검색을 하겠느냐 y 종료하고싶으면 n

학생이름이 있는경우 그학생의 학번을 저장

학생이름이 없으면, 없는 학생이름이라고 출력

 

 

Student Class 코드

public class Student {

	
	public Student(String name, String no) {
		super();
		this.name = name;
		this.no = no;
	}
	private String name;
	private String no;
	
	
	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;
	}
	
}

name과 no를 입력받아야되기때문에 get,set,field 만들어줌.

 

Main Class 코드

 

public class Main {
	
	public static void main(String[] args) {
		
		Student st1 = new Student("손오공", "1682");
		Student st2 = new Student("저팔계", "1882");
		Student st3 = new Student("사오정", "1582");
		
		
		ArrayList <Student>list = new ArrayList<Student>();
		
		list.add(st1);
		list.add(st2);
		list.add(st3);
		
		for (Student stu : list) {
			System.out.println(stu.getName()); 
			System.out.println(stu.getNo());
			
		}
		
		Scanner scan = new Scanner(System.in);
		
	
		
		
		
		while (true) {
			System.out.println("계속 검색을 하고 싶으시면 y, 종료하고 싶으면 n");
			String input = scan.next();
			
			
			
			if(input.equals("y")) {
				System.out.println("검색을 시작합니다.");
				String name = scan.next();
				boolean flag = false; 
				
				for(Student stu : list) {
					if(stu.getName().equals(name)) {
						System.out.println("해당하는 학생의 학번은"+stu.getNo());
						flag = true;
					}
				}
				
				if(!flag) {
					System.out.println("해당하는 학생이름이 없습니다.");
				}
			}
			
			
			else if (input.equals("n")) {
				
				break;
			}
				
		}
		
		System.out.println("프로그램이 종료되었습니다.");
		
		
	}
	
}

 

반응형

'공부 > 알고리즘' 카테고리의 다른 글

알고리즘 for문 (코드업)  (0) 2021.09.08
백준 알고리즘 (for문)  (0) 2021.09.07
소수 판별(구름 알고리즘)  (0) 2021.09.07
알고리즘 3 (백준 알고리즘 - 입출력)  (0) 2021.09.03
알고리즘 연습 2  (0) 2021.09.01