package practice0501teacher.interfaces;
import java.util.Scanner;
public class TestB implements interfaces {
@Override
public void regist(StudentVo student) {
student.setSno(1);
student.setName("짱구");
Subject[] subjects = new Subject[3];
subjects[0] = new Subject();
subjects[1] = new Subject();
subjects[2] = new Subject();
subjects[0].setScore(100);
subjects[0].setSubjectName("JAVA");
subjects[1].setScore(100);
subjects[1].setSubjectName("Japanese");
subjects[2].setScore(100);
subjects[2].setSubjectName("한쿡어");
Subject s = new Subject();
s.setScore(10);
s.setSubjectName("gg");
subjects[0] = s;
student.setSubjects(subjects);
System.out.println(student);
}
@Override
public int getTotal(StudentVo student) {
int total = 0;
for (int i = 0; i < student.getSubjects().length; i++) {
total = total + student.getSubjects()[i].getScore();
}
return total;
}
@Override
public double getAvg(int total, StudentVo student) {
double avg = total / student.getSubjects().length;
return avg;
}
@Override
public String passOfFail(StudentVo student) {
String msg = "수료";
for (int i = 0; i < student.getSubjects().length; i++) {
if (student.getSubjects()[i].getScore() < 60) {
msg = "미수료";
break;
}
}
return msg;
}
}
package practice0501teacher.interfaces;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Subject {
private String subjectName;
private int score;
}
package practice0501teacher.interfaces;
public class TestA implements interfaces {
@Override
public void regist(StudentVo student) {
student.setSno(1);
student.setName("홍길동");
Subject[] subjects = new Subject[2];
subjects[0] = new Subject();
subjects[1] = new Subject();
subjects[0].setScore(100);
subjects[0].setSubjectName("JAVA");
subjects[1].setScore(100);
subjects[1].setSubjectName("Japanese");
Subject s = new Subject();
s.setScore(10);
s.setSubjectName("gg");
subjects[0] = s;
student.setSubjects(subjects);
System.out.println(student);
}
@Override
public int getTotal(StudentVo student) {
int total = 0;
for (int i = 0; i < student.getSubjects().length; i++) {
total = total + student.getSubjects()[i].getScore();
}
return total;
}
@Override
public double getAvg(int total, StudentVo student) {
double avg = total / student.getSubjects().length;
return avg;
}
@Override
public String passOfFail(StudentVo student) {
String msg = "수료";
for (int i = 0; i < student.getSubjects().length; i++) {
if (student.getSubjects()[i].getScore() < 60) {
msg = "미수료";
break;
}
}
return msg;
}
}
package practice0501teacher.interfaces;
import java.util.Scanner;
public class TotalTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
interfaces ifs = null; // 인터페이스 타입존재가능하고
String ida = "a admin";
String pwa = "a1234";
String idb = "b admin";
String pwb = "b1234";
System.out.print("로그인하세요 아이디입력");
String id = sc.nextLine();
System.out.print("pw입력");
String pw = sc.nextLine();
if (id.equals(ida) && pw.equals(pwa)) {
ifs = new TestA();
} else if (id.equals(idb) && pw.equals(pwb)) {
ifs = new TestB();
}
StudentVo student = new StudentVo();
ifs.regist(student);
// 총점구하기 -getTotal
int total = ifs.getTotal(student);
System.out.println("총합" + total);
// 평균구하고 -getAvg
double avg = ifs.getAvg(total, student);
System.out.println("평균" + avg);
// 수료 미수료 -passOrFail
String msg = ifs.passOfFail(student);
System.out.println("수료여부 " + msg);
}
}
package practice0501teacher.interfaces;
interface interfaces {
void regist(StudentVo student);
int getTotal(StudentVo student);
double getAvg(int total,StudentVo student);
String passOfFail(StudentVo student);
}
package practice0501teacher.interfaces;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StudentVo {
private int sno;
private String name;
private Subject[] subjects;
}
'수업시간 JAVA > 문제' 카테고리의 다른 글
서버 - 클라1 + 클라2 소통 (0) | 2023.05.08 |
---|---|
서버-클라이언트 파일 다운로드 하기+DB연동 (0) | 2023.05.04 |
INSERT / SELECT / UPDATE / DELETE 프로그램 만들기 (0) | 2023.04.13 |
연락처 FileOutputStream등등 써서 파일에 /등록/ 조회/ 수정/ 삭제 (0) | 2023.04.11 |
학생정보 등록/조회/수정/삭제(학생학번 있을 시 선생이 그 학번에 정보입력 or 선생이 학번 미리 입력 시 학생이 그 학번 찾아서 회원가입) (0) | 2023.04.09 |