package Exam;
public class Exam {
int kor;
int eng;
int math;
}
package Exam;
import java.util.Scanner;
public class ExamProgram {
public static void main(String[] args) {
Exam exam = new Exam();
//Exam exam; 은 빈공간임 정수같은거는 참조형X,
//클래스는 참조형이라 new를통해 생성해야함
//입력
input(exam);
//출력
print(exam);
}
private static void print(Exam exam) {
int total;
float avg;
total = exam.kor + exam.eng + exam.math;
avg = total / 3.0f;
System.out.println("------------------------------------");
System.out.println("@@@@@@@@@@@@@성적출력@@@@@@@@@@@@@@@@");
System.out.printf("\t국어: %3d\n", exam.kor);// \t 탭, %3d 3칸 정렬, \n 한칸내리기
System.out.printf("\t영어: %3d\n", exam.eng);
System.out.printf("\t수학: %3d\n", exam.math);
System.out.printf("\t총점: %3d\n", total); // 3칸 정렬
System.out.printf("\t평균: %6.2f\n", avg); // 소수점 2자리 까지 나오고 6칸 정렬
System.out.println("------------------------------------");
}
private static void input(Exam exam) {
System.out.println("------------------------------------");
System.out.println("@@@@@@@@@@@@@성적입력@@@@@@@@@@@@@@@@");
Scanner scan = new Scanner(System.in);
int kor = exam.kor;
int eng = exam.eng;
int math = exam.math;
do{
System.out.printf("국어 : ");
kor=scan.nextInt();//점수입력
if(kor<0||100<kor) {
System.out.println("성적범위를 벗어났습니다.");
}
}while(kor<0||100<kor); // 점수 범위를 벗어날 경우 false, 위의 내용 다시 반복
exam.kor = kor;
do{
System.out.printf("영어 : ");
eng=scan.nextInt();//점수입력
if(eng<0||100<eng) {
System.out.println("성적범위를 벗어났습니다.");
}
}while(eng<0||100<eng); // 점수 범위를 벗어날 경우 false, 위의 내용 다시 반복
exam.eng = eng;
do{
System.out.printf("수학 : ");
math=scan.nextInt();//점수입력
if(math<0||100<math) {
System.out.println("성적범위를 벗어났습니다.");
}
}while(math<0||100<math); // 점수 범위를 벗어날 경우 false, 위의 내용 다시 반복
exam.math = math;
}
}
바꿔본다고 바꿨는데 맞는지 모르겠다
'Java 코드연습' 카테고리의 다른 글
[뉴렉처] 가변 길이를 위한 구조체 생성 (0) | 2021.10.18 |
---|---|
[뉴렉처] 구조체 배열 이용하기 (0) | 2021.10.18 |
[뉴렉처] 함수의 매개변수 (0) | 2021.10.18 |
[뉴렉처] Top Down 방식으로 구현하는 간단 예제 (0) | 2021.10.18 |
[뉴렉처] 매개변수를 이용한 함수 고립화 (0) | 2021.10.18 |