검색결과 리스트
글
get,set이용해서 성적입력 Ver2
=========메인 함수===========
package oop.instance;
import java.util.Scanner;
public class Program2{
public static void main(String[] args) {
Record record = new Record();
int total = 0;
float avg = 0;
int menu = 0;
Scanner a = new Scanner(System.in);
Scanner in = new Scanner(System.in);
뿅:while (true) {
switch (RecordView.inputMenu()) {
case 1:
RecordView.inputRecord(record);
break;
case 2:
RecordView.printRecord(record);
break;
case 3:
System.out.println("종료됩니다");
break 뿅;
default:
System.out.println("입력이 잘못됐습니다. 다시 입력하세요");
}
}
}
}
=============레코트 뷰===========================
package oop.instance;
import java.util.Scanner;
public class RecordView {
private Record record;
public static int inputMenu(){
int menu;
Scanner in = new Scanner(System.in);
System.out.println("┌─────────────────────────────┐");
System.out.println("│ 메인 메뉴 │");
System.out.println("└─────────────────────────────┘");
System.out.println("1.성적 입력");
System.out.println("2.성적 출력");
System.out.println("3.종료");
System.out.print("선택>");
menu = in.nextInt();
return menu;
}
public static void inputRecord(Record record){
int kor,eng,math;
Scanner a = new Scanner(System.in);
System.out.println("┌─────────────────────────────┐");
System.out.println("│ 성적 입력 │");
System.out.println("└─────────────────────────────┘");
do {
System.out.print("국어:");
kor = a.nextInt();
if (kor < 0 || kor > 100)
System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
} while (kor < 0 || kor > 100);
do {
System.out.print("영어:");
eng = a.nextInt();
if (eng < 0 || eng > 100)
System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
} while (eng < 0 || eng > 100);
do {
System.out.print("수학:");
math = a.nextInt();
if (math < 0 || math > 100)
System.out.println("성적 범위를 벗어났습니다,다시 입력하세요");
} while (math < 0 ||math > 100);
record.setKor(kor); //record는 객체, 값을 담을수 있는 공간
record.setEng(eng); //record에 eng을 세팅해줄래?(eng)값으로
record.setMath(math); //record.math(30);으로 해도 되는데, 구조 바뀔까바
}
public static void printRecord(Record record){
int total = record.total(); //다른클래스의 이름을 변경(kor=>kor1)하면 여기에서만 오류 날 수 있도록(?)
float avg = total / 3.0f;
System.out.println("┌─────────────────────────────┐");
System.out.println("│ 성적 출력 │");
System.out.println("├────┬────┬────┬────┬────┬────┤");
System.out.println("│ 번호 │ 국어 │ 영어 │ 수학 │ 총점 │ 평균 │");
for (int i = 0; i < 3; i++) {
System.out.println("├────┼────┼────┼────┼────┼────┤");
System.out.printf("│%3d │%3d │%3d │%3d │%3d │%6.2f │\n",i + 1,
record.getKor(), record.getEng(),record.getMath(), total, avg);
} //Racord 클래스에 과목(값)을 얻어주라는 뜻.get
System.out.println("└────┴────┴────┴────┴────┴────┘");
}
}
=====================레코트 클래스=======================
package oop.instance; //코드의 캡슐화
public class Record {
int kor;
int eng;
int math;
public int total() {
return this.kor + this.eng + this.math;
}
public void setKor(int kor){
this.kor=kor;
}
public int getKor() {
return this.kor;
}
public void setEng(int eng){
this.eng=eng;
}
public int getEng() {
return this.eng;
}
public void setMath(int math){
this.math=math;
}
public int getMath() {
return this.math;
}
}
//static 을 지우면 인스턴스 함수(객체 함수)가 된다
'개발 > 코딩' 카테고리의 다른 글
그림 파일불러오기 (0) | 2013.10.10 |
---|---|
캡슐 이해 (오목) (0) | 2013.10.07 |
상속(예제) (0) | 2013.10.01 |
get,set이용해서 성적입력. (0) | 2013.10.01 |
입력 단어와 일치하면 그 라인에 있는 문자 출력하기(자막) (0) | 2013.09.30 |