Stream : 자료를 표현하는 또는 값을 구하는 또다른 방식의 하나이다.
stream으로 값을 구하는 방식은 여러가지이나
객체를 통해서 값을 얻거나 출력하는 것이 가장 쉬운 방법 중 하나이다.
stream 사용법
=객체명.stream().중간함수() ...... 최종함수().
중간함수 : 여러번 사용가능
maptoInt(클래스명 :: 게터함수())
중간함수 1.값을 불러올때 mapTo~
2. filter(.. 조건 ..)
3. sorted(정열)..
package day26;
import java.text.DecimalFormat;
public class DTO {
DecimalFormat df = new DecimalFormat("#,##0.0");
int ban;
String name;
int kor,eng,mat;
int tot;
double avg;
String hak;
String dname;
public DTO() {}
public DTO(int ban, String name, int kor, int eng, int mat, int tot, double avg, String hak, String dname) {
super();
this.ban = ban;
this.name = name;
this.kor = kor;
this.eng = eng;
this.mat = mat;
this.tot = tot;
this.avg = avg;
this.hak = hak;
this.dname = dname;
}
public int getBan() {
return ban;
}
public void setBan(int ban) {
this.ban = ban;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
public int getMat() {
return mat;
}
public void setMat(int mat) {
this.mat = mat;
}
public int getTot() {
return tot;
}
public void setTot(int tot) {
this.tot = tot;
}
public double getAvg() {
return avg;
}
public void setAvg(double avg) {
this.avg = avg;
}
public String getHak() {
return hak;
}
public void setHak(String hak) {
this.hak = hak;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
@Override
public String toString() {
return "[ban=" + ban + ", name=" + name + ", kor=" + kor + ", eng=" + eng + ", mat=" + mat + ", tot=" + tot
+ ", avg=" + df.format(avg) + ", hak=" + hak + ", dname=" + dname + "]";
}
}
package day26;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Menu {
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(System.in);
DAO dao = new DAO();
while(true) {
try {
System.out.println("[1]입력");
System.out.println("[2]출력");
System.out.println("[0]종료");
System.out.println("작업할 번호 입력");
int n = sc.nextInt();
switch (n) {
case 0:System.exit(0);break;
case 1:dao.insert();break;
case 2:dao.out();break;
}
}
catch(NumberFormatException e) {
System.out.println("문자입력은 안됩니다.");
}
}
}
}
package day26;
import java.util.ArrayList;
public class SingleTon {
private static SingleTon ston;
//하나의 메소드를 만들어서 호출하면 ston 객체를 반환
ArrayList<DTO> list = new ArrayList<DTO>();
public static SingleTon single() {
if(ston==null)
ston = new SingleTon();
return ston;
}
//list 객체 저장소에 객체를 추가 시키는 메소드
public void addin(DTO dto) {
list.add(dto);
}
//출력하는 기능
public ArrayList<DTO> out() {
return list;
}
}
package day26;
import java.text.ChoiceFormat;
public class Process {
public int tot(int kor,int eng,int mat) {
return kor+eng+mat;
}
public double avg(int tot) {
return (double)tot/3;
}
public String hak(double avg) {
double [] avg1 = {0,60,70,80,90}; //기준점수
String [] hak1 = {"F","D","C","B","A"};
ChoiceFormat cf = new ChoiceFormat(avg1, hak1);
return cf.format(avg);
}
}
package day26;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class DAO { //생성자의 역활이?...싱글톤의 객체를 호출하여 ston 객체를 초기화
private SingleTon ston;
public DAO() {
ston = SingleTon.single();
}
enum bu{f("축구"),b("야구"),g("게임");
private String value;
private bu(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
//자료입력기능
public void insert() throws FileNotFoundException {
FileReader fr = new FileReader("c:/data/01091.txt");
BufferedReader br = new BufferedReader(fr);
while(true) {
try {
String str = br.readLine();
if(str==null)break;
DTO dto = new DTO();
Process pr = new Process();
// int ban = Integer.parseInt(str.substring(0, 1));
// String name = str.substring(1, 4);
// int kor = Integer.parseInt(str.substring(4, 7));
// int eng = Integer.parseInt(str.substring(7, 10));
// int mat = Integer.parseInt(str.substring(10, 13));
// String dname = bu.valueOf(str.substring(13, 14)).getValue();
// int tot = pr.tot(kor, eng, mat);
// double avg = pr.avg(tot);
// String hak = pr.hak(avg);
// ston.addin(new DTO(ban, name, kor, eng, mat, tot, avg, hak, dname));
//세터 입력 방식
dto.setBan(Integer.parseInt(str.substring(0, 1)));
dto.setName(str.substring(1, 4));
dto.setKor(Integer.parseInt(str.substring(4, 7)));
dto.setEng(Integer.parseInt(str.substring(7, 10)));
dto.setMat(Integer.parseInt(str.substring(10, 13)));
dto.setDname(bu.valueOf((str.substring(13, 14))).getValue());
dto.setTot(pr.tot(dto.getKor(), dto.getEng(), dto.getMat()));
dto.setAvg(pr.avg(dto.getTot()));
dto.setHak(pr.hak(dto.getAvg()));
ston.addin(dto);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
//자료를 화면에 View 기능
public void out() {
ston.out().forEach(s->System.out.println(s.toString()));
}
}
package day26;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.OptionalDouble;
public class DAO { //생성자의 역활이?...싱글톤의 객체를 호출하여 ston 객체를 초기화
private SingleTon ston;
public DAO() {
ston = SingleTon.single();
}
enum bu{f("축구"),b("야구"),g("게임");
private String value;
private bu(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
//자료입력기능
public void insert() throws FileNotFoundException {
FileReader fr = new FileReader("c:/data/01091.txt");
BufferedReader br = new BufferedReader(fr);
while(true) {
try {
String str = br.readLine();
if(str==null)break;
DTO dto = new DTO();
Process pr = new Process();
// int ban = Integer.parseInt(str.substring(0, 1));
// String name = str.substring(1, 4);
// int kor = Integer.parseInt(str.substring(4, 7));
// int eng = Integer.parseInt(str.substring(7, 10));
// int mat = Integer.parseInt(str.substring(10, 13));
// String dname = bu.valueOf(str.substring(13, 14)).getValue();
// int tot = pr.tot(kor, eng, mat);
// double avg = pr.avg(tot);
// String hak = pr.hak(avg);
// ston.addin(new DTO(ban, name, kor, eng, mat, tot, avg, hak, dname));
//세터 입력 방식
dto.setBan(Integer.parseInt(str.substring(0, 1)));
dto.setName(str.substring(1, 4));
dto.setKor(Integer.parseInt(str.substring(4, 7)));
dto.setEng(Integer.parseInt(str.substring(7, 10)));
dto.setMat(Integer.parseInt(str.substring(10, 13)));
dto.setDname(bu.valueOf((str.substring(13, 14))).getValue());
dto.setTot(pr.tot(dto.getKor(), dto.getEng(), dto.getMat()));
dto.setAvg(pr.avg(dto.getTot()));
dto.setHak(pr.hak(dto.getAvg()));
ston.addin(dto);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
// 자료를 화면에 View 기능
public void out() {
DecimalFormat df = new DecimalFormat("#,##0.0");
ArrayList<DTO> list = ston.out();
list.forEach(s->System.out.println(s.toString()));
// 전체 자료의 갯수
long inwon1 = list.stream().count();
System.out.println("전체자료의 갯수 : "+inwon1);
// 점수 합계
int kortot = list.stream().mapToInt(DTO::getKor).sum();
int engtot = list.stream().mapToInt(DTO::getEng).sum();
int mattot = list.stream().mapToInt(DTO::getMat).sum();
System.out.println("국어 점수 합계 : "+kortot);
System.out.println("영어 점수 합계 : "+engtot);
System.out.println("수학 점수 합계 : "+mattot);
// 점수 평균
double koravg = list.stream().mapToInt(DTO::getKor).average().getAsDouble();
System.out.println("국어 평균 : "+df.format(koravg));
double engavg = list.stream().mapToInt(DTO::getEng).average().getAsDouble();
System.out.println("영어 평균 : "+df.format(engavg));
double matavg = list.stream().mapToInt(DTO::getMat).average().getAsDouble();
System.out.println("수학 평균 : "+df.format(matavg));
//전체 총점
int tottot = list.stream().mapToInt(DTO::getTot).sum();
System.out.println("전체 점수 합계 : "+tottot);
//전체 평균
double avgavg = list.stream().mapToDouble(DTO::getAvg).average().getAsDouble();
System.out.println("전체 평균 : "+df.format(avgavg));
}
}
package day26;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.OptionalDouble;
import java.util.stream.Collectors;
public class DAO { //생성자의 역활이?...싱글톤의 객체를 호출하여 ston 객체를 초기화
private SingleTon ston;
public DAO() {
ston = SingleTon.single();
}
enum bu{f("축구"),b("야구"),g("게임");
private String value;
private bu(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
//자료입력기능
public void insert() throws FileNotFoundException {
FileReader fr = new FileReader("c:/data/01091.txt");
BufferedReader br = new BufferedReader(fr);
while(true) {
try {
String str = br.readLine();
if(str==null)break;
DTO dto = new DTO();
Process pr = new Process();
// int ban = Integer.parseInt(str.substring(0, 1));
// String name = str.substring(1, 4);
// int kor = Integer.parseInt(str.substring(4, 7));
// int eng = Integer.parseInt(str.substring(7, 10));
// int mat = Integer.parseInt(str.substring(10, 13));
// String dname = bu.valueOf(str.substring(13, 14)).getValue();
// int tot = pr.tot(kor, eng, mat);
// double avg = pr.avg(tot);
// String hak = pr.hak(avg);
// ston.addin(new DTO(ban, name, kor, eng, mat, tot, avg, hak, dname));
//세터 입력 방식
dto.setBan(Integer.parseInt(str.substring(0, 1)));
dto.setName(str.substring(1, 4));
dto.setKor(Integer.parseInt(str.substring(4, 7)));
dto.setEng(Integer.parseInt(str.substring(7, 10)));
dto.setMat(Integer.parseInt(str.substring(10, 13)));
dto.setDname(bu.valueOf((str.substring(13, 14))).getValue());
dto.setTot(pr.tot(dto.getKor(), dto.getEng(), dto.getMat()));
dto.setAvg(pr.avg(dto.getTot()));
dto.setHak(pr.hak(dto.getAvg()));
ston.addin(dto);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
// 자료를 화면에 View 기능
public void out() {
DecimalFormat df = new DecimalFormat("#,##0.0");
ArrayList<DTO> list = ston.out();
System.out.println("==람다식 출력");//람다식 출력
list.forEach(s->System.out.println(s.toString()));
//조건에 맞는 자료만 출력 ... 국어 점수가 70이상만 검색
long inwon2 = list.stream().filter(s->s.getKor()>=70).count();
System.out.println("국어점수가 70점 이상인 자료의 건 수 : "+inwon2+"건");
//총점이 240인 자료의 건수
long inwon3 = list.stream().filter(s->s.getTot()>=240).count();
System.out.println("총점이 240점 이상인 자료의 건 수 : "+inwon3+"건");
//국어 수학 모두 70이상인 자료의 건수
long inwon4 = list.stream().filter(s->s.getKor()>=70 && s.getMat()>=70).count();
System.out.println("국어,수학점수가 70점 이상인 자료의 건 수 : "+inwon4+"건");
//국어 점수가 70이상인 자료만 출력..목록 다시 생성
List<DTO> list2 = list.stream().filter(s->s.getKor()>=70).collect(Collectors.toList());
System.out.println("국어점수 70점 이상인 자료목록\n======================");
list2.forEach(s->System.out.println(s.toString()));
// System.out.println("==빠른 for");//빠른 for
// for(DTO a:list) {
// System.out.println(a.toString());
// }
// // 전체 자료의 갯수
// long inwon1 = list.stream().count();
// System.out.println("전체자료의 갯수 : "+inwon1);
// // 점수 합계
// int kortot = list.stream().mapToInt(DTO::getKor).sum();
// int engtot = list.stream().mapToInt(DTO::getEng).sum();
// int mattot = list.stream().mapToInt(DTO::getMat).sum();
// System.out.println("국어 점수 합계 : "+kortot);
// System.out.println("영어 점수 합계 : "+engtot);
// System.out.println("수학 점수 합계 : "+mattot);
// // 점수 평균
// double koravg = list.stream().mapToInt(DTO::getKor).average().getAsDouble();
// System.out.println("국어 평균 : "+df.format(koravg));
// double engavg = list.stream().mapToInt(DTO::getEng).average().getAsDouble();
// System.out.println("영어 평균 : "+df.format(engavg));
// double matavg = list.stream().mapToInt(DTO::getMat).average().getAsDouble();
// System.out.println("수학 평균 : "+df.format(matavg));
// //전체 총점
// int tottot = list.stream().mapToInt(DTO::getTot).sum();
// System.out.println("전체 점수 합계 : "+tottot);
// //전체 평균
// double avgavg = list.stream().mapToDouble(DTO::getAvg).average().getAsDouble();
// System.out.println("전체 평균 : "+df.format(avgavg));
}
}
package day26;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class DAO { //생성자의 역활이?...싱글톤의 객체를 호출하여 ston 객체를 초기화
private SingleTon ston;
public DAO() {
ston = SingleTon.single();
}
enum bu{f("축구"),b("야구"),g("게임");
private String value;
private bu(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
//자료입력기능
public void insert() throws FileNotFoundException {
FileReader fr = new FileReader("c:/data/01091.txt");
BufferedReader br = new BufferedReader(fr);
while(true) {
try {
String str = br.readLine();
if(str==null)break;
DTO dto = new DTO();
Process pr = new Process();
// int ban = Integer.parseInt(str.substring(0, 1));
// String name = str.substring(1, 4);
// int kor = Integer.parseInt(str.substring(4, 7));
// int eng = Integer.parseInt(str.substring(7, 10));
// int mat = Integer.parseInt(str.substring(10, 13));
// String dname = bu.valueOf(str.substring(13, 14)).getValue();
// int tot = pr.tot(kor, eng, mat);
// double avg = pr.avg(tot);
// String hak = pr.hak(avg);
// ston.addin(new DTO(ban, name, kor, eng, mat, tot, avg, hak, dname));
//세터 입력 방식
dto.setBan(Integer.parseInt(str.substring(0, 1)));
dto.setName(str.substring(1, 4));
dto.setKor(Integer.parseInt(str.substring(4, 7)));
dto.setEng(Integer.parseInt(str.substring(7, 10)));
dto.setMat(Integer.parseInt(str.substring(10, 13)));
dto.setDname(bu.valueOf((str.substring(13, 14))).getValue());
dto.setTot(pr.tot(dto.getKor(), dto.getEng(), dto.getMat()));
dto.setAvg(pr.avg(dto.getTot()));
dto.setHak(pr.hak(dto.getAvg()));
ston.addin(dto);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
// 자료를 화면에 View 기능
public void out() {
DecimalFormat df = new DecimalFormat("#,##0.0");
ArrayList<DTO> list = ston.out();
System.out.println("==람다식 출력");//람다식 출력
list.forEach(s->System.out.println(s.toString()));
//정열하는 ... 반별 오름차순 정열..
System.out.println("==반 오름차순 정열");
List<DTO> list3 = list.stream().sorted(Comparator.comparing(DTO::getBan)).collect(Collectors.toList());
list3.forEach(s->System.out.println(s.toString()));
System.out.println("==이름별 오름차순 정열");
List<DTO> list5 = list.stream().sorted(Comparator.comparing(DTO::getName)).collect(Collectors.toList());
list5.forEach(s->System.out.println(s.toString()));
System.out.println("==총점 오름차순 정열");
List<DTO> list4 = list.stream().sorted(Comparator.comparing(DTO::getTot)).collect(Collectors.toList());
list4.forEach(s->System.out.println(s.toString()));
System.out.println("==반 내림차순 정열");
List<DTO> bandesc = list.stream().sorted(Comparator.comparing(DTO::getBan).reversed()).collect(Collectors.toList());
bandesc.forEach(s->System.out.println(s.toString()));
System.out.println("==총점 내림차순 정열");
List<DTO> list6 = list.stream().sorted(Comparator.comparing(DTO::getTot).reversed()).collect(Collectors.toList());
list6.forEach(s->System.out.println(s.toString()));
System.out.println("==동아리 내림차순 정열");
List<DTO> list7 = list.stream().sorted(Comparator.comparing(DTO::getDname).reversed()).collect(Collectors.toList());
list7.forEach(s->System.out.println(s.toString()));
// //조건에 맞는 자료만 출력 ... 국어 점수가 70이상만 검색
// long inwon2 = list.stream().filter(s->s.getKor()>=70).count();
// System.out.println("국어점수가 70점 이상인 자료의 건 수 : "+inwon2+"건");
// //총점이 240인 자료의 건수
// long inwon3 = list.stream().filter(s->s.getTot()>=240).count();
// System.out.println("총점이 240점 이상인 자료의 건 수 : "+inwon3+"건");
// //국어 수학 모두 70이상인 자료의 건수
// long inwon4 = list.stream().filter(s->s.getKor()>=70 && s.getMat()>=70).count();
// System.out.println("국어,수학점수가 70점 이상인 자료의 건 수 : "+inwon4+"건");
// //국어 점수가 70이상인 자료만 출력..목록 다시 생성
// List<DTO> list2 = list.stream().filter(s->s.getKor()>=70).collect(Collectors.toList());
// System.out.println("국어점수 70점 이상인 자료목록\n======================");
// list2.forEach(s->System.out.println(s.toString()));
// System.out.println("==빠른 for");//빠른 for
// for(DTO a:list) {
// System.out.println(a.toString());
// }
// // 전체 자료의 갯수
// long inwon1 = list.stream().count();
// System.out.println("전체자료의 갯수 : "+inwon1);
// // 점수 합계
// int kortot = list.stream().mapToInt(DTO::getKor).sum();
// int engtot = list.stream().mapToInt(DTO::getEng).sum();
// int mattot = list.stream().mapToInt(DTO::getMat).sum();
// System.out.println("국어 점수 합계 : "+kortot);
// System.out.println("영어 점수 합계 : "+engtot);
// System.out.println("수학 점수 합계 : "+mattot);
// // 점수 평균
// double koravg = list.stream().mapToInt(DTO::getKor).average().getAsDouble();
// System.out.println("국어 평균 : "+df.format(koravg));
// double engavg = list.stream().mapToInt(DTO::getEng).average().getAsDouble();
// System.out.println("영어 평균 : "+df.format(engavg));
// double matavg = list.stream().mapToInt(DTO::getMat).average().getAsDouble();
// System.out.println("수학 평균 : "+df.format(matavg));
// //전체 총점
// int tottot = list.stream().mapToInt(DTO::getTot).sum();
// System.out.println("전체 점수 합계 : "+tottot);
// //전체 평균
// double avgavg = list.stream().mapToDouble(DTO::getAvg).average().getAsDouble();
// System.out.println("전체 평균 : "+df.format(avgavg));
}
}
package day26;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeMap;
import java.util.stream.Collectors;
public class DAO { //생성자의 역활이?...싱글톤의 객체를 호출하여 ston 객체를 초기화
private SingleTon ston;
public DAO() {
ston = SingleTon.single();
}
enum bu{f("축구"),b("야구"),g("게임");
private String value;
private bu(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
//자료입력기능
public void insert() throws FileNotFoundException {
FileReader fr = new FileReader("c:/data/01091.txt");
BufferedReader br = new BufferedReader(fr);
while(true) {
try {
String str = br.readLine();
if(str==null)break;
DTO dto = new DTO();
Process pr = new Process();
// int ban = Integer.parseInt(str.substring(0, 1));
// String name = str.substring(1, 4);
// int kor = Integer.parseInt(str.substring(4, 7));
// int eng = Integer.parseInt(str.substring(7, 10));
// int mat = Integer.parseInt(str.substring(10, 13));
// String dname = bu.valueOf(str.substring(13, 14)).getValue();
// int tot = pr.tot(kor, eng, mat);
// double avg = pr.avg(tot);
// String hak = pr.hak(avg);
// ston.addin(new DTO(ban, name, kor, eng, mat, tot, avg, hak, dname));
//세터 입력 방식
dto.setBan(Integer.parseInt(str.substring(0, 1)));
dto.setName(str.substring(1, 4));
dto.setKor(Integer.parseInt(str.substring(4, 7)));
dto.setEng(Integer.parseInt(str.substring(7, 10)));
dto.setMat(Integer.parseInt(str.substring(10, 13)));
dto.setDname(bu.valueOf((str.substring(13, 14))).getValue());
dto.setTot(pr.tot(dto.getKor(), dto.getEng(), dto.getMat()));
dto.setAvg(pr.avg(dto.getTot()));
dto.setHak(pr.hak(dto.getAvg()));
ston.addin(dto);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
// 자료를 화면에 View 기능
public void out() {
DecimalFormat df = new DecimalFormat("#,##0.0");
ArrayList<DTO> list = ston.out();
System.out.println("==람다식 출력");//람다식 출력
list.forEach(s->System.out.println(s.toString()));
//반별 국어 총점
TreeMap<Integer, String> map = new TreeMap<Integer, String>();
for(int i=0;i<list.size();i++) {
map.put(list.get(i).getBan(), list.get(i).getName());
}
//1. 키값만 모음
Set<Integer> kset = map.keySet();
Iterator<Integer> it = kset.iterator();
while(it.hasNext()) {
Integer ban = it.next();
long count = list.stream().filter(s->s.getBan()==ban).count();
int kortot = list.stream().filter(s->s.getBan()==ban).mapToInt(DTO::getKor).sum();
int engtot = list.stream().filter(s->s.getBan()==ban).mapToInt(DTO::getEng).sum();
int mattot = list.stream().filter(s->s.getBan()==ban).mapToInt(DTO::getMat).sum();
int tottot = list.stream().filter(s->s.getBan()==ban).mapToInt(DTO::getTot).sum();
double koravg = list.stream().filter(s->s.getBan()==ban).mapToDouble(DTO::getKor).average().getAsDouble();
double engavg = list.stream().filter(s->s.getBan()==ban).mapToDouble(DTO::getEng).average().getAsDouble();
double matavg = list.stream().filter(s->s.getBan()==ban).mapToDouble(DTO::getMat).average().getAsDouble();
double avgavg = list.stream().filter(s->s.getBan()==ban).mapToDouble(DTO::getAvg).average().getAsDouble();
System.out.println("===============================================");
System.out.println(ban+"반 전체 인원 : "+count);
System.out.println(ban+"반 국어 총점 : "+kortot+" 영어 총점 : "+engtot+" 수학 총점 : "+mattot);
System.out.println(ban+"반 국어 평균 : "+df.format(koravg)+" 영어 평균 : "+df.format(engavg)+" 수학 평균 : "+df.format(matavg));
System.out.println(ban+"반 전과목 총점 : "+tottot+" 전과목 평균 : "+df.format(avgavg));
}
}
}
'JAVA' 카테고리의 다른 글
230111_Stream (0) | 2023.01.11 |
---|---|
230110_Stream (0) | 2023.01.10 |
230106_Map (0) | 2023.01.06 |
230105_Map (0) | 2023.01.05 |
230104_Map (0) | 2023.01.04 |
댓글