목록전체 글 (168)
회고록 블로그
공부 중인 강의 : 윤성우 선생님, 윤성우의 열혈 Java 프로그래밍 강의. 링크 : https://cafe.naver.com/cstudyjava 윤성우의 프로그래밍 스터디그룹 [C/... : 네이버 카페 윤성우의 스터디 공간입니다. C와 JAVA를 공부하시는 분들은 모두 들어오세요. ^^ cafe.naver.com 1. 예외 클래스 직접 정의하기 - 필요에 따라 프로그래머가 직접 예외 클래스를 정의할 때도 있음 - 프로그램을 구현하다보면 "논리적 예외"가 발생할 수도 있음 → 코드가 잘못된 것은 아님 → e.g. 사용자에게 주민등록번호를 입력받을 때 뒷자리 첫번째는 1, 2, 3, 4 중의 하나이어야하는데 9가 입력됨 등 - 예외 클래스를 직접 정의하는 방법 → 1번. Exception 클래스를 상속함..
Java 문법을 공부하다가 뜬금없이 Scanner의 구분자를 변경하고 싶어졌다. (그것도 굳이 꼭 쉼표로) 근데 생각보다 쉽게 해결이 안됐다.. 한 2-3시간은 잡고 있었던 듯.. 이것저것 해보다가 해결법을 찾아서 기록해놓기로 했다. [시도1] useDelimiter 메소드에 쉼표를 인자로 주기 아래의 코드를 입력하면 어찌저찌 실행은 할 수 있다. 하지만, 단순하게 인자를 쉼표로 주면 꼭 마지막에 "쉼표(,)"를 붙여줘야했다. sc.useDelimiter(","); 아마 구분자가 쉼표이기 때문에 어쩔 수 없나보다. 그나마 String타입은 문자열이기 때문에 공백을 함께 저장할 수 있어서, 아래와 같이 쉼표(구분자) 뒤에 공백을 넣어도 오류(Error)는 발생하지 않았다. 물론 결과가 좀 이상해졌지만, 어..
[문제] https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net [풀이] x와 y의 값이 0이 되면 다시 값을 입력받아야 하지만, 문제에서 재입력을 받으라고 언급하지 않았기 때문에 임의로 해결해버렸다. import java.util.Scanner; class Quadrant { private int x; // x좌표 값 private int y; // y좌표 값 Quadrant(int x, int y) { if((x != 0) && (y != 0)) { this.x = x; this.y = y; } else { System.out.println("x와 y의 값은 ..
[문제] https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net [풀이] 윤년의 기준을 정확하게 정리할 필요가 있다. 도와줘요 구글! 해당 연도가 4의 배수이면 윤년이다. 해당 연도가 4의 배수이면서, 100의 배수가 아니면 윤년이다. (4의 배수이면서 100의 배수라면 윤년이 아닐 가능성이 크다) 해당 연도가 400의 배수이면 윤년이다. (100의 배수이면서 400의 배수가 아니라면 윤년이 아니다) 출처 : https://ko.wikihow..
[문제] https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net [풀이] import java.util.Scanner; class TestScorePrinter { private int score; TestScorePrinter(int score) { if((score >= 0) && (score
[문제] https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net [풀이] import java.util.Scanner; class CompareInt implements Comparable { private int num; // 정수 1개 CompareInt(int num) { this.num = num; } @Override public int compareTo(CompareInt c) { if(this.num > c.num) System.out.println(">"); else if(this.num == c.num) System.out.println("=="..
[문제] https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net [풀이] import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int firstNum = sc.nextInt(); int secondNum = sc.nextInt(); // secondNum의 일, 십, 백의 자리 변수 int hundredsDigit = 0, tendsDigit = 0, unitDigit = 0; // seco..
[문제] https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net [풀이] import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); if((a >= 1) && (a = 1) && (b = 1) && (b
[문제] https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net [풀이] import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); if((a >= 1) && (a = 1) && (b
보호되어 있는 글입니다.