captulation
2022. 5. 29. 20:45ㆍPrograming Language/Java
#program.java
package ex1.func.todown;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;
public class program {
public static void main(String[] args) throws IOException {
while (true) {
int menu = inputMenu();
Exam exam = new Exam();
switch (menu) {
case 1:
Exam.input(exam);
break;
case 2:
Exam.print(exam);
break;
case 3:
Exam.load(exam);
break;
case 4:
Exam.save(exam);
break;
case 5:
exitProgram();
break;
}
}
}
// Program의 Bottom 구성
private static void exitProgram() {
System.out.println("Bye~~");
System.exit(0);
}
static void print(Exam exam) {
Scanner scan = new Scanner(System.in);
if (exam == null) {
System.out.println("성적이 입력되지 않았습니다. (Exam 객체가 존재하지 않음)");
return;
}
System.out.println("┌───────────────────────────────────┐");
System.out.println("│ 성적 출력 │");
System.out.println("└───────────────────────────────────┘");
System.out.println("국어 : " + exam.kor);
System.out.println("영어 : " + exam.eng);
System.out.println("수학 : " + exam.math);
int total = exam.kor + exam.eng + exam.math;
System.out.println("총점 :" + total);
System.out.printf("평균 : %.2f\n", (total / 3.0));
}
private static int inputMenu() {
Scanner scan = new Scanner(System.in);
int menu = 0;
System.out.println("┌────────────────────────────────┐");
System.out.println("│ 성적관리 Main Menu │");
System.out.println("└────────────────────────────────┘");
System.out.println("1. 입력");
System.out.println("2. 출력");
System.out.println("3. 읽기");
System.out.println("4. 저장");
System.out.println("5. 종료");
System.out.print(">");
menu = scan.nextInt();
return menu;
}
}
#Exam.java
package ex1.func.todown;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;
public class Exam {
// 그룹핑
int kor;
int eng;
int math;
public static void input(Exam exam) {
Scanner scan = new Scanner(System.in);
System.out.println("┌───────────────────────────────────┐");
System.out.println("│ 성적 출력 │");
System.out.println("└───────────────────────────────────┘");
System.out.println("국어 >");
exam.kor = scan.nextInt();
System.out.println("영어 >");
exam.eng = scan.nextInt();
System.out.println("수학 >");
exam.math = scan.nextInt();
}
public static void save(Exam exam) throws IOException {
File file = new File("res/data.txt");
FileOutputStream fos = new FileOutputStream(file);
PrintStream ps = new PrintStream(fos);
ps.printf("%d,%d,%d\n", exam.kor, exam.eng, exam.math);
ps.close();
fos.close();
}
public static Exam load(Exam exam) throws IOException {
File file = new File("res/data.txt");
FileInputStream fis = new FileInputStream(file);
Scanner scan = new Scanner(fis);
String[] tmps = scan.nextLine().split(",");
scan.close();
fis.close();
exam.kor = Integer.parseInt(tmps[0]);
exam.eng = Integer.parseInt(tmps[1]);
exam.math = Integer.parseInt(tmps[2]);
return exam;
}
public static void print(Exam exam) {
Scanner scan = new Scanner(System.in);
if (exam == null) {
System.out.println("성적이 입력되지 않았습니다. (Exam 객체가 존재하지 않음)");
return;
}
System.out.println("┌───────────────────────────────────┐");
System.out.println("│ 성적 출력 │");
System.out.println("└───────────────────────────────────┘");
System.out.println("국어 : " + exam.kor);
System.out.println("영어 : " + exam.eng);
System.out.println("수학 : " + exam.math);
int total = exam.kor + exam.eng + exam.math;
System.out.println("총점 :" + total);
System.out.printf("평균 : %.2f\n", (total / 3.0));
}
}
'Programing Language > Java' 카테고리의 다른 글
abstract (0) | 2022.06.04 |
---|---|
데이터구조화 (0) | 2022.05.28 |
File (0) | 2022.05.28 |