본문 바로가기

전체 글227

백준 2439 별 찍기 - 2 풀기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.close(); for(int i = 0;i i;k--) { System.out.print(" "); } for(int j =0;j 2022. 4. 11.
nextInt 다음에 nextLine 쓰면 문제가 되는 이유. (feat. buffer) nextInt에 int가 아닌 다른 값을 넣었더니 그 값이 다음에 수행할 nextLine()에 들어가서 nextLine을 자동 종료시켜버린 모습. nextInt에 int가 아닌 값을 입력하면 값이 버퍼에 남아있음. 사용자가 값을 입력하면 cpu는 값이 다 입력될때까지 버퍼에 값을 담아놓음. 그러다가 다 입력되면 nextInt의 경우 cpu는 버퍼에 담긴 enter전까지의 숫자로 전환 가능한 입력값을 int로 내보내게 됨. 그러나 숫자가 아닌 문자를 입력해버리면 해당되는 데이터가 없어서 내보낼 수가 없음. 만약 a를 입력하면 a + enter가 버퍼에 남아있게 됨. 버퍼에 그 값이 남아있는 상태에서 nextLine을 호출하게 되면 문제가 됨. nextLine은 입력값 + \n까지 버퍼에 저장했다가 가져옴... 2022. 4. 9.
JAVA Calendar와 LocalTime 활용 문제 문제 [출력 결과] 수능일 : 2021-11-18 오늘 : 2021-11-3 남은일 : 15 Calendar로 구현 변수명 그지 같은 거 앎. 일단 구현이 더 시급. (15가 나와야 하는데 14가 나옴. 초까지 새는 거라서 오차가 있을 수 있다고 함. ) LocalDate로 구현해본 결과. 뭔가 더 간단해 보임 남은일을 구하기 위해 수능 날짜에서 오늘 날짜 빼야 하는데 그러려면 밀리세컨드 그 걸로 바꿔서 계산해야 함. 근데 Calendar에서는 getTimeMillis가 있었지만 LocalTime에는 없음. LocalTime 클래스 타입을 밀리세컨드으로 가져오는 방법 검색 결과 localtime변수명.atStartOfDay(ZoneOffset.UTC).toInstant().toEpochMilli(); 이.. 2022. 4. 8.
백준 2438 별 찍기 - 1 껌이지~ 문제 나의 답: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for(int i = 1,n=num;i 2022. 4. 6.
JAVA Casting 객체형변환 - 참조데이터타입 기본적으로는 안되지만 상속관계(is a)일때 가능. 반드시 업캐스팅이 발생된 후 다운캐스팅을 할 수 있다. 업캐스팅(up-casting) : 부모객체로 자식객체를 참조할 수 있도록 형 변환하는 기술 다운 캐스팅(down-casting) : 업캐스팅을 다시 원상 복구해주는 형 변환하는 기술 독립적인 참조 데이터 타입(객체)은 형 변환이 안된다 Up-casting 자식을 부모로 변환은 가능한데 부모를 자식으로 변환은 불가능 부모로 형 변환하면 자식에 있는 메서드 사용 안됨 p=c P에 c의 주소가 할당됨 그러나 p에 있는 거만 호출 가능(부모 클래스에 있는 거) 오버라이딩된거는 오버 라이딩된 거로 호출됨 부모를 자식으로 형 변환 사실 가능 down-casting 단 원래부터 자식.. 2022. 4. 5.
백준 10818 최소, 최대 / 언제쯤 혼자서 풀 수 있을까... 문제 답 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] num = new int[n]; for (int i = 0; i max) { max = num[i]; }else if(num[i] 2022. 4. 5.
728x90