728x90

JAVA 17

[JAVA] ArrayList 리스트 거꾸로 뒤집기 (ex-최신순 조회)

Collections.reverse( 뒤집고싶은 리스트 ); Collections.reverse() 메소드는, 파라미터로 전달받은 List를 거꾸로 뒤집어준다.  예제)내역을 최신순으로 조회하기 위해 리스트를 뒤집는다. 조회가 끝나면, 이후 추가하게될 내역의 순서가 꼬이지 않게하기위해, 다시 뒤집어놓는다.@Override public void displayHistory(){ if (list.isEmpty()) { System.out.println("내역이 없습니다."); } else { // 리스트를 역순으로 정렬(최신순 조회) Collections.reverse(list); for (String..

JAVA 2024.09.04

Java 8, Java 11, Java 17 차이 비교

Java8 👉 오라클이 자바 인수 후 출시한 첫번째 LTS 버전 👉 32비트를 지원하는 마지막 공식 Java버전 👉 2개의 버전으로 나뉨: Oracle JDK, Open JDK 👉 Nashorn JavaScript 엔진 탑재 👉 새로운 날짜와 시간 API 👉 Unsigned Integer 계산 👉 Annotation on Java Types 👉 Static Link JNI Library 👉 Interface Default Method 👉 PermGen 영역 삭제 👉 Stream API Java11 👉 Oracle JDK와 Open JDK 통합 👉 Oracle JDK가 구독형 유료 모델로 전환 👉 람다 파라미터에 대한 지역 변수 문법 👉 엡실론 가비지 컬렉터 👉 서드파티 JDK로의 이전 필요 👉 HTTP ..

JAVA 2023.08.05

JAVA 마스터가 되기 위한 여정-10

10. 예외 처리 10-1. 예외 클래스 예외 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류. 발생시 바로 프로그램 종료 (~~ 에러) 예외처리 해준다면 프로그램 종료 않고 정상 실행 상태 유지 가능. 예외발생가능성 높은 코드 컴파일 시 : 예외처리유무를 확인 -> 없다? -> 컴파일 되지 않음 예외 & 예외 클래스 예외 종류 일반 예외 = 컴파일러 체크 예외 프로그램 실행 시 예외가 발생할 가능성이 높기 때문에 자바 소스를 컴파일하는 과정에서 해당 예외 처리 코드가 있는지 검사함. 만일 없다면 컴파일 오류 발생. 실행 예외 = 컴파일러 넌 체크 예외 실행 시 예측할 수 없이 갑자기 발생 -> 컴파일 과정에서 예외 처리 코드 있는지 검사하지 않음. in Java, 예외를..

JAVA 2023.05.14

[JAVA] 스타트와 링크 (백준 14889번)

https://www.acmicpc.net/problem/14889 이 문제는 nCr을 실습하는 문제이다. 초기 코드는 보잘것 없다… 실행해봤자, 팀원 수와, 능력치 입력만 할 수 있는게 전부였다. 그래도 막, 뭐라도 해보겠다고, 이것저것 import하고, nCr 실제 계산식도 만들어보려고 팩토리얼메서드도 만들어보고 이것저것 난리였는데, 결국은 아무것도 안됐다. (아래는 일단 입력받는 부분만…) 그래 일단, 입력받는 부분은 너무 정상적으로 잘 구현하였다. 인원수와, 그에 맞는 능력치 입력까지는 좋았다. 하지만 팀을 어떻게 중복없이 반으로짜서 그에 대한 능력치 합을 구해야할지 몰랐다. nCr에서도 왜 자기자신을 호출하는지는 알았다. 그러나 방문처리를 어떻게 하는지와, 팀 중복이 되지 않기 위해서는 어떻게 ..

JAVA/코드 과제 2023.04.01

[JAVA] OX퀴즈( ' 문자열 수식 배열 '의 참/거짓 결과 반환하기)

https://school.programmers.co.kr/learn/courses/30/lessons/120907 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n차 - 무수한 노력 끝에 맛본 패배… 구글링은 절대 하지 않으리라 마음먹었으나 결국 이 친구를 이기지 못하였다. 아이디어라 해봤자, 공백을 제거해서 새로운 배열에 저장해서 사용하는 거였는데, 나는 문자열의 공백을 어떻게 제거해서 새로운 배열에 저장하는지를 몰랐다. 배열안의 문자열을 꺼내서 각각 따로 배열에 저장해주고, 나아가 이의 공백문자까지 고려해줘야 한다니 머리는 터져버렸다. 그 결과물은...

JAVA/코드 과제 2023.03.05

JAVA 마스터가 되기 위한 여정-8

8. 인터페이스 8-1. 인터페이스 인터페이스: 객체의 사용 방법을 정의한 타입. 객체와 개발 코드의 접점 ➥ 개발코드 ➟ 인터페이스메소드 ➟ 객체 메소드 ➥ 개발코드는 객체 내부 구조 알 필요 없이 인터페이스 메소드만 알면 됨. 굳이 중간에 왜 인터페이스를 끼는걸까? 바로 객체 메소드 부르면 되잖아!?! ➥개발 코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위함. ex) 인터페이스1은 객체 메소드를 호출한다고 가정. 개발코드 ➟ 인터페이스1 ➟ 객체A : 리턴값 a 개발코드 ➟ 인터페이스1 ➟ 객체B : 리턴값 b ➠ 같은 인터페이스를 불렀음에도 객체만 갈아끼워도 리턴값 달라짐. 즉, 다양한 객체를 동일한 사용 방법으로 이용할 수 있음. 인터페이스 선언 물리적 형태는 클래스와 동일 (소스..

JAVA 2023.02.27

[JAVA] 유한소수 판별하기

https://school.programmers.co.kr/learn/courses/30/lessons/120878 정말 많은 시간을 들여 짱구를 굴려보았다. 오랜만에 초등학생으로 돌아가서 씽크빅 학습지로 무진장 풀던 나눗셈과 약분을 했던것 같다. 예외처리가 너무 많아서 수많은 테스트케이스에서 뭐는 통과하고 뭐는 실패하고가 뒤죽박죽이었는데 테스트케이스가 무엇인지 볼 수 없어서 골때렸던 문제이다. 기존 작업 코드가 날아가버려서… 대충 이 사진만 보더라도 (생각 과정의 전부는 아니지만) 감이 잡히겠다. 나의 (구)고생길 감. 한가지 기억이 나는 테스트케이스 함정은… 바로바로 테스트케이스 1번. 약분 결과 분자가 1인데, 나는 넘겨주는 값을 1이 아닌 원래의 분자값으로 넘겨줘버렸다. 얘때문에 다 된줄 알던 코..

JAVA/코드 과제 2023.02.22

[JAVA] 배열의 유사도

배열의 유사도 https://school.programmers.co.kr/learn/courses/30/lessons/120903 1차 - 입력을 다 안받아버리는 오류가… 배열 길이를 3이라고 입력을 하면, 코드만 본다면 원소를 3개를 받아야 하는데, 입력을 2개만 받아버리는 어이없는 상황이 발생했다. package programmers.배열의_유사도; import java.util.*; public class arrayOverlap { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("첫 번째 배열의 길이를 입력하세요: "); int a = scanner.nextInt(..

JAVA/코드 과제 2023.02.22

[JAVA] 자릿수 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/120906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 - 학습용으로는 좋았으나.. 첫 과제였던 이 문제를 마주한 때가 막 게터 세터 클래스를 배우던 때라 그런지, 이 문제를 괜히 이것저것마구덕지덕지 해결해나갔다. 프로그래머스도 처음 써보는거라, 제약사항이며 예외 오류처리 안내문이며 쓸데없이 친절해버렸다. 우선메인 화면에 띄워줄 안내문을 적어보았다. 문제의 제약 조건을 다 지킨 숫자로 사용자가 올바르게 입력했는지 따져서, 올바른 범위라면 계산을..

JAVA/코드 과제 2023.02.21
728x90