System.out.println(), System.out.print()
System.out.printf()
%d
// 십진수 출력. %,d
는 숫자의 천단위마다 콤마를 찍어준다.%s
// 문자열 출력. %10s
는 10자리 문자열을 만든다. 입력한 문자열이 10자리보다 짧을 경우 블랭크로 채운다. 기본적으로 우정렬이고 좌정렬하고 싶으면 %-10s
라고 쓰면 된다.%c
// 문자 출력%f
// 소수점 출력. %.3f => 소수점 이하 3번째자리까지 출력.Scanner
import java.util.Scanner; // import해오지 않으면 에러가 난다.
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int a, b;
a = sc.nextInt();
b = sc.nextInt();
System.out.println(a + b);
}
}
BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = br.readLine().split(" ");
// s[0] = "1"; Integer.parseInt(s[0]) => 1
StringTokenizer
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
st.nextToken();
주어지는 입력을 그대로 출력하기
Scanner
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()) {
System.out.printlin(sc.nextLine());
}
while(sc.hasNextInt()) {
System.out.println(sc.nextInt());
}
BufferedReader
BufferdReader br = new BufferedReader(new InputStreamReader(System.in));
String input = "";
while((input = br.readLine()) != null) { // String input에 대입하는 것은 입력받은 줄을 읽겠다는 의미.
// ...
}
위 코드를 실행시키려고 했을 때 예외처리에 대한 오류가 떠서 예외처리를 위한 코드를 넣었다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String args[]){
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
String input = "";
while((input = br.readLine()) != null) {
System.out.println(input);
}
} catch(IOException e) {
System.err.format("IOException: %s%n", e);
}
}
}
+) 문제 추가
3 // 첫번째줄 인풋은 주어질 숫자의 개수
123 // 두번째줄 인풋은 숫자들 -> 이 숫자들을 전부 더한 수를 출력하시오
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
String n = br.readLine();
String[] s = br.readLine().split("");
int sum = 0;
for(int i = 0 ; i < s.length ; i++ ) {
sum += Integer.parseInt(s[i]);
}
System.out.println(sum);
} catch(IOException e) {
System.err.format("IOException: %s%n", e);
}
}
}
+) StringTokenizer는 문자열을 입력하는 것이 아니라 가공하는 역할을 하기 때문에 EOF 처리에는 맞지 않는다고 한다.