728x90
반응형
Student.class
package Ex01;
public class Student {
private String name;
private String department;
private String id;
private double avg;
public Student(String name, String department, String id, double avg) {
this.name = name;
this.department = department;
this.id = id;
this.avg = avg;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getAvg() {
return avg;
}
public void setAvg(double avg) {
this.avg = avg;
}
}
StudentManager.class
package Ex01;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
import java.util.StringTokenizer;
public class StudentManager {
private Scanner sc = new Scanner(System.in);
private ArrayList<Student> dept = new ArrayList<>();
public void read() {
System.out.println("학생 이름, 학과, 학번, 학점평균 입력하세요.");
for(int i=0; i<4; i++) {
System.out.print(">>");
String text = sc.nextLine(); //한줄 단위로 입력
StringTokenizer st = new StringTokenizer(text, ",");
String name = st.nextToken().trim(); //공백제거된 이름
String department = st.nextToken().trim();
String id = st.nextToken().trim();
double avg = Double.parseDouble(st.nextToken().trim()); //double로 형변환
Student student = new Student(name, department, id, avg);
dept.add(student);
}
}
private void printAll() {
Iterator<Student> it = dept.iterator();
while(it.hasNext()) {
Student student = it.next();
System.out.println("-------------------");
System.out.println("이름 : " + student.getName());
System.out.println("학과 : " + student.getDepartment());
System.out.println("학번 : " + student.getId());
System.out.println("학점평균 : " + student.getAvg());
System.out.println("-------------------");
}
}
public void processQuery() {
while(true) {
System.out.println("학생 이름 >> ");
String name = sc.nextLine();
if(name.equals("그만")) {
return;
}
for(int i=0; i<dept.size(); i++) {
Student student = dept.get(i);
if(student.getName().equals(name)) {
System.out.print(student.getName() + ", ");
System.out.print(student.getDepartment() + ", ");
System.out.print(student.getId() + ", ");
System.out.print(student.getAvg());
break;
}
}
}
}
public void run() {
read();
printAll();
processQuery();
}
public static void main(String[] args) {
StudentManager man = new StudentManager();
man.run();
}
}
728x90
반응형
'JAVA > 예제' 카테고리의 다른 글
[JAVA] Thread를 활용한 버블게임 (0) | 2022.10.26 |
---|---|
[JAVA] Vector를 활용한 Polygon 그리기 (0) | 2022.10.26 |
[JAVA] Vector를 사용해 평균값 구하기 (0) | 2022.10.26 |
[JAVA] ArrayList를 사용하여 학점 구하기 (0) | 2022.10.26 |
[JAVA] Vector를 사용하여 입력한 수 중 가장 큰 수 구하기 (0) | 2022.10.26 |
댓글