Cute Happy Ghost
본문 바로가기
JAVA/Java

20201006_11 Review 출석부 프로그램

by JENN_tech7 2020. 10. 6.
728x90
SMALL

클래스배열 for문에 넣을 떄

 

void input() {
		for (int i = 0; i < stu.length; i++) {
			stu[i] = new Student();
			System.out.println("학생이름 입력 : ");
			stu[i].name = in.next();
			System.out.println("학생학번 입력 : ");
			stu[i].number = in.nextInt();
		}

저렇게 [i]쓰는거 잊지말자

까먹어서 계속 안됐네 ㅋㅋㅋ

 

 

  • Student클래스
package review;
//   Student.java: 출석부의 한 학생을 나타낸다.
public class Student
{
    public int number;	// 학번
    public String name;	// 이름

    // -------------------------------------------------------
    //  변수들을 주어진 값들로 초기화하면서 새 Student 객체를 생성한다.
    // -------------------------------------------------------
   

    public Student() {
		// TODO Auto-generated constructor stub
	}

	// -------------------------------------------------------
    //   현 Student 객체의 모든 데이터를 문자열로 반환한다.
    // -------------------------------------------------------
    public String toString ()
    {
	return ("학번 : " + number + "\t" + ", 이름 : " +name);
    }
}

 

 

 

 

 

  • ClassRoll 클래스
package review;
//출석부를 Student 객체들의 배열로 나타낸다.

import java.util.Scanner;
public class ClassRoll
{
	Scanner in = new Scanner(System.in);
	Student[] stu = new Student[2];
	String coursename;
	public ClassRoll() {//생성자
			
	}
	public void setCoursename(String Coursename) {
		coursename = Coursename;
	}
	void input() {
		for (int i = 0; i < stu.length; i++) {
			stu[i] = new Student();
			System.out.print("학생이름 입력 : ");
			stu[i].name = in.next();
			System.out.print("학생학번 입력 : ");
			stu[i].number = in.nextInt();
		}
	}
	void search() {
		System.out.print("찾는 학생 학번 : ");
		int number = in.nextInt();
		for (int i = 0; i < stu.length; i++) {
			if (number == stu[i].number) {
				System.out.println(stu[i].toString());
				return;
			}
			}
		System.out.println("결과없음");
		}
	}

헷갈렸던 부분은 역시 클래스배열생성하고 호출? 어쩌구 하는법

클래스배열을 멤버필드에서 생성해주고

input에서 입력해주고 search에서 찾아주기

toString저거는 설명해주는건데 괜찮은 메소드인것같다

맨날 길게하는거 귀찮았는데 저거하나설정해놓으면 되니까

for문할때 stu[i]필수 

맨날 까먹냐...

 

 

 

 

  • ClassRollDriver 클래스
package review;
// 출석부를 관리한다
import java.util.Scanner;
public class ClassRollDriver
{
   public static void main (String[] args)
   {
	   // 변수들
	   Scanner in = new Scanner (System.in);
	   int choice;			// 사용자 선택
	   String coursename;	// 교과목명
	   String name;			// 이름
	   int number;			// 학번
	   Student student;		// Student 객체 참조변수

	   ClassRoll sbook= new ClassRoll();

       // 교과목명을 입력 받는다
	   System.out.print("교과목명을 입력하세요: ");
	   coursename = in.next();

	   // 출석부의 교과목명을 입력 받은 입교과목명으로 변경한다
        	// 여기에 코드를 입력하세요
	   sbook.setCoursename(coursename);

	   do {
		   // 사용자가 원하는 연산을 선택하게 한다
		   System.out.print("원하는 연산을 선택하세요:");
		   System.out.print("(1) 추가");
		   System.out.print("(2) 찾기");
		   System.out.println("(3) 종료");

		   choice = in.nextInt();

           // 사용자의 선택에 따라 연산을 수행한다
		   if (choice == 1)
		   {
			   sbook.input();
		   }
		   else if (choice == 2)
		   {
			   sbook.search();
		   }
	   } while (choice != 3);
	   System.out.println("프로그램종료");
   }
}

완전 간소화해봤다!

 

 

 

 

  • 출력결과

아주 만족스럽게 잘나오는군 ㅎㅎ..

728x90
LIST

댓글