백준 1000번
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
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();
System.out.println(a+b);
}
}
입력받으라는 말에 아무래도 아직은 Scanner가 더 익숙해서 Scanner로 문제를 해결했다. 그리고 다른 방법은 없나 검색하다 이미 배운 BufferedReader를 활용하는 방법을 보았다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println(a+b);
} catch (IOException e) {
e.printStackTrace();
}
}
}
예외처리는 throws 로도 할 수 있다.
InputStream에 대해서는 이미 배웠지만 생각이 나지 않았고 사용하는 방법도 아직 낯설다. 아무래도 자주 사용해서 익숙해지는 과정을 가져야 할 것 같다.
위가 InputStream, 아래가 Scanner를 사용한 결과다.
Scanner는 수많은 정규식을 거쳐 입력받기 때문에 시간과 메모리를 더 소모한다.
https://st-lab.tistory.com/41
입력 뜯어보기
아직 제대로 다 이해하지 못했다 천천히 익혀먹어야지
번외
백준에서 자바로 코드를 짤 때는 클래스의 이름을 Main으로 해야한다. 하지 않으면 컴파일 에러가 난다...
오라클에서 다중조인을 하면서 GROUP BY를 사용할 때 서브쿼리문을 GROUP BY 에 넣으려고 했다.. 그러면서 계속 맞게짠거같은데 왜 안돌아가지 ㅠㅠ 하면서 조급해했음 FROM에 넣었으면 바로 됐을텐데... 바보다