2021-03-22 - 정의 PrintWriter는 개체의 형식화된 표현을 텍스트 출력 스트림에 출력한다. 이 클래스는 PrintStream에 있는 모든 출력 메서드를 구현한다. 프로그램이 인코딩 되지 않은 바이트 스트림을 사용해야 하는 원시 바이트를 작성하는 메서드는 포함되어 있지 않다. ( 출처 자바 api ) PrintWriter는 writer를 상속받아 사용한다. 때문에 writer 대비 다양한 출력방식을 제공하게 된다. 구체적으로 어떤 메소드들을 구현하고 있는지 알아보도록 하자. - print / println / printf PrintWriter를 사용하는 가장 큰 이유중 하나인 print 관련 메서드이다. 특히 println 메서드는 자동 개행을 시켜주기 때문에 조금 더 쉬운 출력 코딩을 할..
2021-03-14 Writer은 문자열을 출력하는 최상위 스트림이다. 다만 Writer는 추상 클래스이기 때문에 new 연산자를 통한 객체 생성이 불가하다. 때문에 자식 클래스를 매개 값을 받아 객체를 생성한다. 또한 자바 내에서 바로 문자열로 스트림을 바로 읽어 들일 수 없기 때문에 스트림 기반 출력 클래스 또는 System.out을 형 변환하여 사용해야 한다. - 선언 Writer wr = new OutputStreamWriter(System.out); 위와 같이 Writer 클래스의 자식 클래스를 매개값으로 받아야지만, new 연산자를 사용한 객체 생성이 가능하다. - 실행 ( String ) package wWriter; import java.io.IOException; import java.i..
2021-03-08 문제 어떤 정수 A가 있으면 그 숫자를 A = a1 * a2 * a3 * a4 ... * an으로 했을 때 A' = a1 + a2 + a3 ... + an이 성립하면 "A는 A'으로 변할 수 있다"라고 한다. (ai는 정수) 만약 A'이 A''으로 변할 수 있으면 "A는 A''으로 변할 수 있다"라고 한다. 이때 A와 B가 주어지면 A는 B로 변할 수 있는지 판별하시오. 입력 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다. 출력 각각의 테스트 케이스마다 한 줄에 변할 수 있으면 yes, 아니면 no를 출력한다. 힌트 6 = 2*3, 2+3=5이므로 성립한다. 소스코드 impo..
2021-03-07 - Call By Value 바로 결론부터 말하자면 자바는 Call By Value와 같은 특징을 가지고 있다. 아래의 코드를 보자. package StringCallByValue; public class Main { public static void stringSwap1(String str1, String str2) { String temp = str1; str1 = str2; str2 = temp; } //String 변수 2개를 전달받아 swap 해주는 간단한 메서드 선언 public static void main(String[] args) { String str1 = "aaa"; String str2 = "bbb"; System.out.println(str1 + " / " + ..
2021-03-06 -정의 InputStream과 OutPutStream모두 스트림 클래스의 최상위 클래스로 모두 추상 클래스이다. 때문에 자신의 new 연산자로 는 객체를 생성할 수 없으며, 자식 클래스 및 System 객체 자체를 매개 값으로 받아야 한다. (전체 코드는 게시물 맨 아래에 올려두었다.) - 선언 InputStream is = System.in; OutputStream os = System.out; byte [] checkByte = new byte [100]; int size = -1; // 입력된 데이터가 더이상 있는지 여부를 체크할 // size 변수 -1일 경우 더 이상의 데이터가 없다. 선언부에서는 입력/출력 스트림을 모두 System.in /. out를 매개 값으로 받아 객체..
2021-03-05 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대..