01. Student 클래스
package arrayList;
public class Student {
private String name;
private String number;
private int scoreJava;
private int scoreWeb;
private int scoreAndroid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public int getScoreJava() {
return scoreJava;
}
public void setScoreJava(int scoreJava) {
this.scoreJava = scoreJava;
}
public int getScoreWeb() {
return scoreWeb;
}
public void setScoreWeb(int scoreWeb) {
this.scoreWeb = scoreWeb;
}
public int getScoreAndroid() {
return scoreAndroid;
}
public void setScoreAndroid(int scoreAndroid) {
this.scoreAndroid = scoreAndroid;
}
@Override
public String toString() {
return "Student [name=" + name + ", number=" + number + ", scoreJava=" + scoreJava + ", scoreWeb=" + scoreWeb
+ ", scoreAndroid=" + scoreAndroid + "]";
}
public Student(String name, String number, int scoreJava, int scoreWeb, int scoreAndroid) {
this.name = name;
this.number = number;
this.scoreJava = scoreJava;
this.scoreWeb = scoreWeb;
this.scoreAndroid = scoreAndroid;
}
}
02. Main 클래스
1) 다음과 같이 메뉴 출력
2) [4] 종료 선택 시 프로그램 종료
3) Student 객체 담을 수 있는 ArrayList 생성
4) [1]성적입력 선택 시 이름, 학번, 성적 입력받아 ArrayList에 추가
5) [2] 전체조회 선택 시 다음과 같이 출력
6) 단, 등록되어있는 정보 없을 시에는 '조회할 데이터가 없습니다.'
7) [4]학생검색 선택 시 검색할 이름 입력받아 동일한 이름의 정보 찾아 다음과 같이 출력
8) 단, 검색한 이름이 없을 경우 '검색한 이름의 정보가 없습니다.'
package arrayList;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentMain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Student> list = new ArrayList<>();
while(true) {
System.out.println("[1]성적입력 [2]전체조회 [3]학생검색 [4]프로그램 종료");
int menu = sc.nextInt();
if(menu==4) {
System.out.println("프로그램이 종료되었습니다...");
break;
}
if(menu==1) {
System.out.println("이름 : ");
String name = sc.next();
System.out.println("학번 : ");
String number = sc.next();
System.out.println("Java 점수 : ");
int javaScore = sc.nextInt();
System.out.println("Web 점수 : ");
int webScore = sc.nextInt();
System.out.println("Android 점수 : ");
int androidScore = sc.nextInt();
Student s = new Student(name, number, javaScore, webScore, androidScore);
list.add(s);
}
if(menu==2) {
if(list.isEmpty()) {
System.out.println("조회 할 데이터가 없습니다.");
}else {
System.out.print("이름\t");
System.out.print("학번\t");
System.out.print("Java\t");
System.out.print("Android\t");
System.out.print("Web\n");
for(Student s : list) {
System.out.print(s.getName()+"\t");
System.out.print(s.getNumber()+"\t");
System.out.print(s.getScoreJava()+"\t");
System.out.print(s.getScoreAndroid()+"\t");
System.out.print(s.getScoreWeb()+"\n");
}
}
}
if(menu==3) {
System.out.println("검색할 이름 입력: ");
String name = sc.next();
boolean found = false;
for(Student s : list) {
if(s.getName().equals(name)) {
found = true;
System.out.print(s.getName()+"\t");
System.out.print(s.getNumber()+"\t");
System.out.print(s.getScoreJava()+"\t");
System.out.print(s.getScoreAndroid()+"\t");
System.out.print(s.getScoreWeb()+"\n");
double average = (s.getScoreJava() + s.getScoreAndroid() + s.getScoreWeb()) / 3.0;
System.out.println("평균점수: " + average);
String grade;
if(average <= 50) {
grade = "C";
}else if(average <= 70) {
grade = "B";
}else {
grade = "A";
}
System.out.println("학점: " + grade);
break;
}
}
if(!found) {
System.out.println("검색한 이름의 정보가 없습니다.");
break;
}
}
}
}
}
'학교 > JAVA' 카테고리의 다른 글
모바일 웹 서비스 구현을 위한 JSP 웹 프로그래밍 연습문제_06 JSP (0) | 2023.12.13 |
---|---|
모바일 웹 서비스를 위한 JSP 웹 프로그래밍 연습문제_05장 서블릿 (0) | 2023.12.13 |
컬렉션(ArrayList<String>, Iterator) 연습문제 (ArrayEx02) (0) | 2023.10.26 |
컬렉션(ArrayList<String>) 연습문제 (ArrayEx01) (0) | 2023.10.26 |
객체와 객체배열 연습문제 (Phone, PhoneManager) (0) | 2023.10.26 |