<출력형태>
번호 설명 국어 수학 영어 총점 평균
1 장동건 100 99 80
2 이민호 89 100 100
3 김범룡 95 89 100
public class ArrayListExam03 {
public static void main(String[] args) {
ArrayList<ArrayList<String>> lists = new ArrayList<>();
ArrayList<String> list1 = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>();
ArrayList<String> list3 = new ArrayList<>();
list1.add("1");
list1.add("장동건");
list1.add("100");
list1.add("99");
list1.add("80");
list2.add("2");
list2.add("이민호");
list2.add("89");
list2.add("100");
list2.add("100");
list3.add("3");
list3.add("김범룡");
list3.add("95");
list3.add("89");
list3.add("100");
lists.add(list1);
lists.add(list2);
lists.add(list3);
System.out.println("번호\t성명\t국어\t수학\t영어\t총점\t평균");
for(ArrayList<String> list:lists) {
for(String that:list) {
System.out.print(that+"\t");
}
int sum = 0;
for(int i=2;i<=4;i++) {
sum = sum + Integer.parseInt(list.get(i));
}
System.out.print(sum+"\t");
System.out.print((double)sum/3+"\t");
System.out.println();
}
}
}
public class StudentDTO {
private int num;
private String name;
private int kor;
private int math;
private int eng;
private Date regdate;
public StudentDTO() {}
public StudentDTO(int num, String name, int kor, int math, int eng) {
super();
this.num = num;
this.name = name;
this.kor = kor;
this.math = math;
this.eng = eng;
this.regdate = new Date();//현재시간정보셋팅, 멤버변수는 초기값 널이고, 객체를 만들어서 호출할수있게..
}
public StudentDTO(int num, String name, int kor, int math, int eng, Date regdate) {
super();
this.num = num;
this.name = name;
this.kor = kor;
this.math = math;
this.eng = eng;
this.regdate = regdate;//현재시간정보셋팅
}
@Override
public String toString() {
return "StudentDTO [num=" + num + ", name=" + name + ", kor=" + kor + ", math=" + math + ", eng=" + eng
+ ", regdate=" + regdate + "]";
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
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 getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
public Date getRegdate() {
return regdate;
}
public void setRegdate(Date regdate) {
this.regdate = regdate;
}
}
public class ArrayListExam03_DTO {
public static void main(String[] args) {
ArrayList<StudentDTO> lists = new ArrayList<>();
StudentDTO student1 = new StudentDTO(1,"장동건",100,99,88);
StudentDTO student2 = new StudentDTO(2,"이민호",89,100,100);
StudentDTO student3 = new StudentDTO(3,"김범룡",95,89,100);
lists.add(student1);
lists.add(student2);
lists.add(student3);
System.out.println("번호\t성명\t국어\t수학\t영어\t총점\t평균");
for(StudentDTO student:lists) {
System.out.print(student.getNum()+"\t"+student.getName()+"\t"+student.getKor()+"\t"+student.getMath()+"\t"+student.getEng());
int sum = student.getKor()+student.getMath()+student.getEng();
System.out.println("\t"+sum+"\t"+(sum/3));
}
}
}

package api.util;
import java.util.Date;
public class BoardDTO {
private int number;
private String title;
private String content;
private String name;
private Date day;
public BoardDTO() {}
public BoardDTO(int number, String title, String content, String name) {
super();
this.number = number;
this.title = title;
this.content = content;
this.name = name;
this.day = new Date();
}
public BoardDTO(int number, String title, String content, String name, Date day) {
super();
this.number = number;
this.title = title;
this.content = content;
this.name = name;
this.day = day;
}
@Override
public String toString() {
return "BoardDTOExam [number=" + number + ", title=" + title + ", content=" + content + ", name=" + name
+ ", day=" + day + "]";
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getDay() {
return day;
}
public void setDay(Date day) {
this.day = day;
}
}
package api.util;
import java.util.ArrayList;
public class BoardExam {
public static void main(String[] args) {
ArrayList<BoardDTO> list = new ArrayList<>();
BoardDTO person1 = new BoardDTO(1,"안녕하세요","허각입니다","허각");
BoardDTO person2 = new BoardDTO(2,"안녕하세요","폴킴입니다","폴킴");
BoardDTO person3 = new BoardDTO(3,"안녕하세요","나비입니다","나비");
list.add(person1);
list.add(person2);
list.add(person3);
System.out.println("번호\t제목\t내용\t작성자\t날짜");
for(BoardDTO p:list) {
System.out.println(p.getNumber()+"\t"+p.getTitle()+"\t"+p.getContent()+"\t"+p.getName()+"\t"+p.getDay());
}
}
}
package api.util;
import java.util.HashSet;
import java.util.Iterator;
public class HashSetTest01 {
public static void main(String[] args) {
//1. HashSet생성
HashSet<String> set = new HashSet<>();
//2. HashSet에 데이터 추가
set.add("자바");
set.add("자바");
set.add("스프링");
set.add("자바스크립트");
set.add("노드");
set.add("프론트");
//3.set에 저장된 요소의 갯수 =>(중복이 안되기때문에 똑같은 문자 여러개 집어넣으면 한개로 나옴)
System.out.println(set.size());
System.out.println(set.contains("스프링"));
System.out.println("======================================");
//4. 모든 데이터를 출력하기(기본)..입력한 순서대로 출력되지는 않음
for(String data:set) {
System.out.println(data);
}
System.out.println("======================================");
//4-1. 모든 데이터를 출력하기(표준인터페이스를 이용해서 작업)
//순서가 있는 자료구조가 아니므로 자바 내부에서 제공되는 표준인터페이스로 변경하고 작업(추출전용인터페이스)
// 구조가 다 다른(셋,맵,키) 데이터를 통일된 타입으로 변경할 수 있게하는게 Iterator
// 1) HashSet을 Iterator로 변환하기
// Iterator : 추출전용인터페이스
Iterator<String> it = set.iterator();
// 2) Iterator에 저장된 HashSet데이터들을 출력하기
while(it.hasNext()) {//Iterator에 데이터가 있는지 여부를 확인
//데이터를 꺼내기
String data = it.next();
System.out.println(data);
}
System.out.println("======================================");
set.remove("스프링");
System.out.println(set.size());
}
}

package api.util;
import java.util.HashSet;
//합집합과 교집합
public class HashSetTest02 {
public static void main(String[] args) {
HashSet<String> set1 = new HashSet<>();
set1.add("java");
set1.add("mysql");
set1.add("servlet");
set1.add("jdbc");
set1.add("jsp");
set1.add("spring");
set1.add("css");
print(set1);
//합집합 -Set을 생성할때 매개변수로 다른 Set(합집합을 하기 위한 Set)을 넘기기
HashSet<String> set2 = new HashSet<>(set1);
set2.add("haddop");
set2.add("spark");
set2.add("karfka");
print(set2);
HashSet<String> set3 = new HashSet<>();
set3.add("java");
set3.add("servlet");
set3.add("python");
set3.add("Raspberry PI");
print(set3);
System.out.println("set1과 set3의 교집합");
//교집합을 하게 되면 교집합이 set3에 새로 셋팅된다.
set3.retainAll(set1);
print(set3);
System.out.println("set1과 set3의 합집합");
set1.addAll(set3);
print(set1);
}
public static void print(HashSet<String> set) {
for(String data:set) {
System.out.println(data);
}
System.out.println("-------------");
}
}
public class practice {
public static void main(String[] args) {
HashSet<String> aus = new HashSet<>();
aus.add("Sydney");
aus.add("Brisbane");
aus.add("Perth");
aus.add("Melbourne");
print(aus);
HashSet<String> us = new HashSet<>();
us.add("Newyork");
us.add("Houstin");
us.add("LA");
us.add("Sandiago");
print(us);
aus.addAll(us);
print(aus);
HashSet<String> wantgo = new HashSet<>();
wantgo.add("Sydney");
wantgo.add("Perth");
wantgo.add("LA");
wantgo.add("Newyork");
us.retainAll(wantgo);
print(us);
HashSet<String> next = new HashSet<>(aus);
next.add("Italy");
next.add("Bankok");
print(next);
}
public static void print(HashSet<String> set) {
for(String data:set) {
System.out.println(data);
}
System.out.println("----------");
}
}

public class HashMapTest {
public static void main(String[] args) {
//해시맵 생성 HashMap<key, vlaue>
HashMap<String, Integer> map = new HashMap<>();
//데이터 저장하기
map.put("a01", 1000);
map.put("a02", 2000);
map.put("a03", 3000);
map.put("a04", 4000);
map.put("a05", 4000);
map.put("a06", 6000);
map.put("a06", 7000);
//똑같은 key를 주면 value는 덮어씀
//key는 중복될수없다. 동일한 key를 정의하고 put하면 해당 key에 대한 vlaue가 업데이트된다.
//사이즈
System.out.println(map.size());
System.out.println("--------------------");
//값출력하기, 겟메소드는 특정 키를 주면 밸류가 나옴
System.out.println(map.get("a04"));
System.out.println(map.get("a06"));//덮어쓴거 확인
System.out.println("--------------------");
//Map에 저장된 모든 데이터 꺼내기
//1.모든 키를 추출
Set<String>keylist = map.keySet();
//2.키를이용해서 밸류를 꺼내기//정해진 순서랄게 없이 막나옴
for(String key : keylist) {
System.out.println(map.get(key));
}
System.out.println("--------------------");
}
}

연습

public class FinalExam {
public static void main(String[] args) {
ArrayList<StudentDTO> list = new ArrayList<>();
StudentDTO list1 = new StudentDTO(1,"장동건",100,99,88);
StudentDTO list2 = new StudentDTO(2,"이민호",89,100,100);
StudentDTO list3 = new StudentDTO(3,"김범룡",95,89,100);
list.add(list1);
list.add(list2);
list.add(list3);
print(list);
HashSet<StudentDTO> lists = new HashSet<>();
lists.addAll(list);
print(lists);
HashMap<Integer, StudentDTO> listm = new HashMap<>();
listm.put(1, list1);
listm.put(2, list2);
listm.put(3, list3);
print(listm);
}
public static void print(ArrayList<StudentDTO> list) {
System.out.println("번호\t이름\t국어\t수학\t영어\t총점\t평균");
for(StudentDTO data:list) {
System.out.print(data.getNum()+"\t"+data.getName()+"\t"+data.getKor()+"\t"+data.getMath()+"\t"+data.getEng());
double sum = data.getKor()+data.getMath()+data.getEng();
System.out.println("\t"+sum+"\t"+sum/3);
}
}
public static void print(HashSet<StudentDTO> lists) {
System.out.println("번호\t이름\t국어\t수학\t영어\t총점\t평균");
//둘다 가능
Iterator<StudentDTO> it = lists.iterator();
while(it.hasNext()) {
StudentDTO data = it.next();
System.out.print(data.getNum()+"\t"+data.getName()+"\t"+data.getKor()+"\t"+data.getMath()+"\t"+data.getEng());
double sum = data.getKor()+data.getMath()+data.getEng();
System.out.println("\t"+sum+"\t"+sum/3);
}
for(StudentDTO data:lists) {
System.out.print(data.getNum()+"\t"+data.getName()+"\t"+data.getKor()+"\t"+data.getMath()+"\t"+data.getEng());
double sum = data.getKor()+data.getMath()+data.getEng();
System.out.println("\t"+sum+"\t"+sum/3);
}
}
public static void print(HashMap<Integer,StudentDTO> listm) {
System.out.println("번호\t이름\t국어\t수학\t영어\t총점\t평균");
Set<Integer> keylist = listm.keySet();
for(Integer key : keylist) {
StudentDTO s = listm.get(key);
System.out.print(s.getNum()+"\t"+s.getName()+"\t"+s.getKor()+"\t"+s.getMath()+"\t"+s.getEng());
double sum = s.getKor()+s.getMath()+s.getEng();
System.out.println("\t"+sum+"\t"+sum/3);
}
}
}

public class FileTest {
public static void main(String[] args) {
//기본경로가 프로젝트경로-
//C:\backend23
File file1 = new File("src/data/test.txt");//파일
//File file2 = new File("C:\\backend23");//디렉토리
File file2 = new File("C:/backend23");//위와같은말임~
System.out.println(file1);//file1의 toString호출한것과 똑같음
System.out.println(file1.length());//경로 지정 안하면 파일을 읽을수없어서 0이라뜸
System.out.println("file1.canRead()=>"+file1.canRead());
System.out.println("file1.canWrite()=>"+file1.canWrite());
System.out.println("file1.getAbsolutePath()=>"+file1.getAbsolutePath());
System.out.println("file1.getName()=>"+file1.getName());
System.out.println("file1.getParent()=>"+file1.getParent());
System.out.println("file1.getPath()=>"+file1.getPath());
System.out.println("file1.isDirectory()=>"+file1.isDirectory());
System.out.println("file1.isFile()=>"+file1.isFile());
System.out.println("file1.lastModified()=>"+file1.lastModified());//밀리세컨?
System.out.println("file1.length()=>"+file1.length());
System.out.println("file2.isDirectory()=>"+file2.isDirectory());
System.out.println("file2.isFile()=>"+file2.isFile());
System.out.println(file2);
}
}

tool --- [폴더]
....
....
ArgsTest.java ------[파일(15:2024/03/29)]
15=>파일사이즈/ 수정한날짜
[안내]
public class FileExam {
public static void main(String[] args) {
File file = new File("C:/backend23");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
File[] files = file.listFiles();
for(File f:files) {
if(f.isDirectory()) {
System.out.println("["+f.getName()+"]"+"-------[폴더]");
}else {
System.out.println(f.getName()+"-------[파일("
+f.length()+":"
+sdf.format(f.lastModified())
+":"+sdf.format(new Date(f.lastModified()))//이렇게도 할수있음
+")]");
}
}
}
}

public class InputStreamTest {
public static void main(String[] args) {
double mypi = Math.PI;
//시스템의 구성요소는 static이라고 보면됨
// System.out.println(mypi);
InputStream in = System.in;//키보드 입력장치랑 연결된 변수
PrintStream myout = System.out;//
// myout.println("test");
try {
while(true) {
int data = in.read();
if(data==13) {//엔터누르면 13나와서..왠진모름
break;
}
System.out.print((char)data);
}
}catch(IOException e) {//인풋스트림-read메소드 들어가면 IOException를 throw하고있음,,예외처리 복습
e.printStackTrace();
}
}
}


stream,inputStream,InputStreamReader
public class InputStreamReaderTest {
public static void main(String[] args) {
// InputStream in = System.in;//키보드 입력
InputStreamReader isr = new InputStreamReader(System.in);//얘는 문자단위로 읽어서 한글이 안깨짐, 다른건깨졌음.
//시스템인도 걍 변수라 생각해. 안바뀌게 파이널처리해놓은 거라 생각..
try {
while(true) {
int data = isr.read();
if(data==13) {//엔터누리면 13나와서..왠진모름
break;
}
System.out.print((char)data);
}
}catch(IOException e) {//인풋스트림-read메소드 들어가면 IOException를 throw하고있음,,예외처리 복습
e.printStackTrace();
}
}
}
본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.