학원 수업 14일차 220906
- 9-10
#TEST01
#1. 국어,영어,수학 점수를 키보드로 입력 받고 총점과 평균을 출력하는 프로그램을 작성하세요
a. 이름,국어,영어,수학 점수를 입력받을수 있는 변수 각각 문자열 name, 정수형 kor,eng,mat 를 선언하세요(10점)
b. Scanner 객체를 통해서 a에서 선언한 변수의 값을 각각 입력 받으세요(10점)
c. 이름,국어,영어,수학, 총점(tot) 과 평균(avg)(소숫점아래 3자리에서 반올림하여 2자리까지 표현)을 계산하여 콘솔에 출력되도록 구현하세요.(10점)
#2. 정수형 변수를 하나를 선언하고 키보드로 부터 입력받아 아래와 같이 출력 되도록 프로그래밍을 구현하세요.
입력:3
*
**
***
a. 변수 n을 선언하고 키보드로 부터 입력받으세요.(10점)
b. 입력받은 n이 예)와 같이 3인경우 * 모양을 이용하여 그림과 같이 출력되도록 for 반복문을 구현하세요(10점)
#3. 배열을 이용하여 로또 번호를 출력하는 프로그램을 구현하세요(각 10점)
a. int type 6개를 저장 할 수있는 1차원 배열을 선언하세요.
b. Random 클래스를 이용하여 1~45까지의 난수를 발생시키고 a번에서 선언한 배열에 6개의 번호를 저장하여 주세요
c. 저장된 번호가 중복되지 않도록 처리하는 구문이 작성하여주세요
d. 완성된 번호는 오름차순 정렬이 되도록 재배치하는 문장을 구현하세요(for문 사용)
e. d에서 완성된 배열을 출력하세요(forEach:향상된 for) 문을 사용하세요.
- 10-11
워크스페이스에서 디렉토리 명을 수정했더니 패키지 익스플로러에 안뜬다? Import필요!
https://emflant.tistory.com/88
- 11-12
text01.java
Scanner 문자열 입력받기 next, nextline
nextline : 문자를 읽을 때 엔터까지 읽어요
바로 위에서 값을 입력하면서 엔터를 누르면 nextline이 엔터를 받아버림
해결책? next를 쓰거나
//버퍼에서 엔터를 제거해줘야해요
in.nextLine();//버퍼제거
System.out.print("이름 : ");
name=in.nextLine(); //문자열을 엔터까지 입력받음
큐 메모리구조
System.out.println(String.format("평균 : %.2f\n", avg));
https://blog.jiniworld.me/68
printf+println
소스 한줄씩 확인하기
브레이크 포인트 걸고 디버깅 모드!
F11 눌러서 실행하고 F6누르면서 한줄씩 확인
- 12-1
collection
ArrayList가 뭔지.. 모르겠는데..?
배열이랑 비교
단점: 중간 데이터를 삽입 및 삭제했을 때 데이터가 정리되는 과정에서 과부하가 일어날 수 있음
빈번한 데이터의 삽입, 삭제에 용이하지 않다
- 2-3
교재 p.731
LinkedList 연결리스트
빈번한 삽입,삭제시 용이한 데이터구조
빠른 검색을 지원하지는 않는 구조
ArrayList VS LinkedList
리스트에서 제너릭을 쓰는 이유는?
https://codechacha.com/ko/java-generics/
ArraryList와 Vector의 차이?
Vector에는 synchronized 메서드가 포함되어있음(동기화)
동시 처리 못함
멀티스레드상에서 데이터가 안전하게 처리 가능함
동시에 제한된 공간에 접근
- 3-4
java.util.패키지
집합을 처리하기 위한 라이브러리
-배열의 문제점을 보완한 데이터구조
List 인터페이스 구조: ArrayList, LinkedList, Vertor
- 4-5
Set 인터페이스 구조
- 동일데이터 중복 불가
- list와 다르게 인덱스가 존재하지 않아요 -> 수정 불가
- 5-6
Treeset으로 lotto 만들기(TreeSetTest.java)
set.first
set.last
가장 근접한 원소 탐색: ceiling, floor, higher, lower
set.floor
set.lower
set.pollLast
set.pollFirst
처음 또는 마지막 원소 제거: pollFirst, pollLast