Java - 데이터 구조화
- 데이터 구조 정의 ```java public class Exam { int kor; int eng; int math; }
2. 메인 메소드에 Exam exam; 으로 선언하였다.
Exam exam; (참조변수)
값(정수,실수,문자)형식, 참조형식 공간일수가있다.
참조형식은 new 연산자를 통해 참조시키지않는 이상 null을 가지고있다.
3. 객체 생성
Exam exam = new Exam(); -> new 를 통해서 공간이 만들어진다 (kor,eng,math) 값을 대입할수있음
```java
import java.util.Scanner;
public class ExamProgram {
public static void main(String[] args) {
Exam exam = new Exam();
input(exam);
print(exam);
}
private static void print(Exam exam) {
System.out.println("┌──────────────────┐");
System.out.println("│ 성적 출력 │");
System.out.println("└──────────────────┘");
System.out.println();
int kor = exam.kor;
int eng = exam.eng;
int math = exam.math;
int total = kor+eng+math;
float avg= total/3.0f;
System.out.printf("국어 :%d\n", kor);
System.out.printf("영어 :%d\n", eng);
System.out.printf("수학 :%d\n", math);
System.out.printf("총점 : %3d\n", total);
System.out.printf("평균 : %6.2f\n", avg);
System.out.println("────────────────────────");
}
private static void input(Exam exam) {
Scanner scan = new Scanner(System.in);
System.out.println("┌──────────────────┐");
System.out.println("│ 성적 입력 │");
System.out.println("└──────────────────┘");
System.out.println();
int kor, eng, math;
do {
System.out.printf("국어 :");
kor = scan.nextInt();
if(kor < 0 || 100 < kor)
{
System.out.println("국어성적은 0~100까지의 범위만 입력이 가능합니다.");
}
}while(kor<0 || 100 < kor);
do {
System.out.printf("영어 :");
eng = scan.nextInt();
if(eng < 0 || 100 < eng)
{
System.out.println("국어성적은 0~100까지의 범위만 입력이 가능합니다.");
}
}while(eng<0 || 100 < eng);
do {
System.out.printf("수학 :");
math = scan.nextInt();
if(math < 0 || 100 < math)
{
System.out.println("국어성적은 0~100까지의 범위만 입력이 가능합니다.");
}
}while(math<0 || 100 < math);
exam.kor=kor;
exam.eng=eng;
exam.math=math;
}
}
참고 : https://youtu.be/ghB3e2NWNgE
댓글남기기