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
'JAVA > Java' 카테고리의 다른 글
20201007_12 교과목, 학생추가 프로그램 (0) | 2020.10.07 |
---|---|
20201007_12(별찍기, 메소드, 성적입력) (0) | 2020.10.07 |
20201006_11 출석부프로그램, 설계 (0) | 2020.10.06 |
20201006_11(생성자, this, 가비지) (0) | 2020.10.06 |
20201005_ 10 Review (생성자, 초기화) (0) | 2020.10.06 |
댓글