ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컬렉션 연습문제 (Student, Main)
    학교/JAVA 2023. 10. 27. 11:38

    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;
    				}
    			}
    		}
    	}
    }

     

     

     

     

Designed by Tistory.