학생마다 Student 객체를 생성하고 4명의 학생 정보를 ArrayList< Student > 컬렉션에 저장한 후에,
ArrayList< Student >의 모든 학생(4명) 정보를 출력하고
학생 이름을 입력 받아 해당 학생의 학점 평균을 출력하는 프로그램을 작성하라.
[학생 이름, 학과, 학번, 학점평균 입력하세요.]
(입력 1) 황기태, 모바일, 1, 4.1
(입력 2) 이재문, 안드로이드, 2, 3.9
(입력 3) 김남윤, 웹공학, 3, 3.5
(입력 4) 최찬미, 빅데이터, 4, 4.25
이름: 황기태
학과: 모바일
학번: 1
학점평균: 4.1
이름: 이재문
학과: 안드로이드
학번: 2
학점평균: 3.9
이름: 김남윤
학과: 웹공학
학번: 3
학점평균: 3.5
이름: 최찬미
학과: 빅데이터
학번: 4
학점평균: 4.25
학생 이름 >> (입력) 최찬미
최찬미, 빅데이터, 4, 4.25
학생 이름 >> (입력) 이재문
이재문, 안드로이드, 2, 3.9
학생 이름 >> 그만
class Student {
private String name;
private String major;
private int num;
private double scoreAvg;
public Student(String name, String major, int num, double scoreAvg) {
this.name = name;
this.major = major;
this.num = num;
this.scoreAvg = scoreAvg;
}
public String getName() {
return name;
}
public String getMajor() {
return major;
}
public int getNum() {
return num;
}
public double getScoreAvg() {
return scoreAvg;
}
}
import java.util.*;
class Student {
private String name;
private String major;
private int num;
private double scoreAvg;
public Student(String name, String major, int num, double scoreAvg) {
this.name = name;
this.major = major;
this.num = num;
this.scoreAvg = scoreAvg;
}
public String getName() {
return name;
}
public String getMajor() {
return major;
}
public int getNum() {
return num;
}
public double getScoreAvg() {
return scoreAvg;
}
}
class JavaPractice {
public static void main(String[] args) {
// 초기화
List<Student> student = new ArrayList<>();
Scanner scan = new Scanner(System.in);
// 입력하기
try {
System.out.println("학생 이름, 학과, 학번, 학점 평균 입력");
for (int i = 0; i <= 3; i++) {
System.out.print("학생 " + (i + 1) + " >> ");
String text = scan.nextLine();
StringTokenizer st = new StringTokenizer(text, ",");
String name = st.nextToken().trim();
String major = st.nextToken().trim();
int num = Integer.parseInt(st.nextToken().trim());
double avg = Double.parseDouble(st.nextToken().trim());
student.add(new Student(name, major, num, avg));
}
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
// 출력하기
System.out.println("=======================");
for (Student s : student) {
System.out.println("이름 : " + s.getName());
System.out.println("학과 : " + s.getMajor());
System.out.println("학번 : " + s.getNum());
System.out.println("평균 : " + s.getScoreAvg());
System.out.println("=======================");
}
// 검색하기
try {
while (true) {
System.out.print("학생 이름 검색 >> ");
String name = scan.nextLine();
if (name.equals("그만")) {
break;
}
for (int i = 0; i < student.size(); i++) {
Student search = student.get(i);
if (search.getName().equals(name)) {
System.out.println(search.getName() + "," + search.getMajor() + ", " + search.getNum() + ","
+ search.getScoreAvg());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.util.*;
class Student {
private String name;
private String major;
private int num;
private double scoreAvg;
public Student(String name, String major, int num, double scoreAvg) {
this.name = name;
this.major = major;
this.num = num;
this.scoreAvg = scoreAvg;
}
public String getName() {
return name;
}
public String getMajor() {
return major;
}
public int getNum() {
return num;
}
public double getScoreAvg() {
return scoreAvg;
}
}
class JavaPractice {
public static void main(String[] args) {
// 초기화
Map<String, Student> student = new HashMap<String, Student>();
Scanner scan = new Scanner(System.in);
// 입력하기
try {
System.out.println("학생 이름, 학과, 학번, 학점 평균 입력");
for (int i = 0; i <= 3; i++) {
System.out.print("학생 " + (i + 1) + " >> ");
String text = scan.nextLine();
StringTokenizer st = new StringTokenizer(text, ",");
String name = st.nextToken().trim();
String major = st.nextToken().trim();
int num = Integer.parseInt(st.nextToken().trim());
double avg = Double.parseDouble(st.nextToken().trim());
student.put(name, new Student(name, major, num, avg));
}
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
// 출력하기
System.out.println("=======================");
Set<String> key = student.keySet();
Iterator<String> itr = key.iterator();
while (itr.hasNext()) {
String name = itr.next();
Student s = student.get(name);
System.out.println("이름 : " + s.getName());
System.out.println("학과 : " + s.getMajor());
System.out.println("학번 : " + s.getNum());
System.out.println("평균 : " + s.getScoreAvg());
System.out.println("=======================");
}
// 검색하기
try {
while (true) {
System.out.print("학생 이름 검색 >> ");
String name = scan.nextLine();
if (name.equals("그만")) {
break;
}
Student search = student.get(name);
if (search == null) {
System.out.println(name + "학생은 존재하지 않습니다.");
} else {
System.out.println("이름 : " + search.getName());
System.out.println("학과 : " + search.getMajor());
System.out.println("학번 : " + search.getNum());
System.out.println("평균 : " + search.getScoreAvg());
System.out.println("=======================");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}