package _1;
import java.util.*;
import java.util.Scanner;
public class T1 {
public static void main(String[] args) {
Student st1 = new Student("홍길동","1111");
Student st2 = new Student("손오공","2222");
Student st3 = new Student("베지터","3333");
ArrayList<Student> list = new ArrayList<Student>();
list.add(st1);
list.add(st2);
list.add(st3);
for(Student stu:list) { //list를 모두 순회하며, stu에 순서에 맞게 st1,st2,st3 데이터가 들어감
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();
String student = findStudent(name, list);
if(student != null) {
System.out.println("해당하는 학생의 학번은" + student);
}else {
System.out.println("해당하는 학생이름이 없습니다.");
}
}else if (input.equals("n")) {
break;
}
}
System.out.println("프로그램이 종료되었습니다.");
}
public static String findStudent(String name, ArrayList<Student> list) { //메소드 자체만의 값이다. 위에있는 것들과 동일할 필요가 없다.
for (Student stu : list) {
if(stu.getName().equals(name)) { //==은 참조변수의 주소값을 대조하는 것임. value값을 대조하고싶을 때는 equals를 사용해야함
return stu.getNo();
}
}
return null;
}
}
package _1;
public class Student {
private String name;
private String no;
public Student(String name, String no) {
super();
this.name = name;
this.no = 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;
}
}
홍길동
1111
손오공
2222
베지터
3333
계속 검색을 하고싶으시면 y, 검색을 종료하고 싶으면 n
y
검색을 시작합니다
베지터
해당하는 학생의 학번은3333
계속 검색을 하고싶으시면 y, 검색을 종료하고 싶으면 n
y
검색을 시작합니다
저찰
해당하는 학생이름이 없습니다.
계속 검색을 하고싶으시면 y, 검색을 종료하고 싶으면 n
'프로그래머 ,백준, 유튜브, 문제' 카테고리의 다른 글
[알고리즘 기초 100제] 5번 대소문자 변환 (0) | 2022.08.29 |
---|---|
백준 수학 10250 (0) | 2022.08.28 |
자바 스파르타 1-17 객체지향퀴즈 (0) | 2022.08.28 |
백준배열 1546 / 8958 (0) | 2022.08.23 |
[알고리즘 기초 100제] 2번 최빈수 구하기 (0) | 2022.08.22 |
댓글