Java 코드연습
[뉴렉처] 구조체를 이용한 코드 작성하기
양상추상츄
2021. 10. 18. 13:29
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;
}
}
바꿔본다고 바꿨는데 맞는지 모르겠다