# 1010 : [기초-입출력] 정수 1개 입력받아 그대로 출력하기(설명)
입력 : 정수 1개
출력 : 입력된 정수를 그대로 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in); // 1
int num = sc.nextInt(); // 2
System.out.println(num); // 3
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
① java.util.Scanner 클래스를 호출하여 Scanner 객체 이용
② 정수를 입력받기 위해 nextInt 메서드 호출 --> 입력받은 정수가 num에 저장
③ num 변수 출력
# 1011 : [기초-입출력] 문자 1개 입력받아 그대로 출력하기(설명)
입력 : 문자 1개
출력 : 입력된 문자를 그대로 출력
import java.util.Scanner;
public class Evecat
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(str);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
** next 메서드
- String(문자열) 타입을 반환하는 메서드.
- 공백으로 문자열을 구분하기 때문에 공백을 만나기 전까지의 문자열을 반환한다.
ex) Hello World! << 를 입력할 경우 str에는 Hello만 저장된다.
# 1012 : [기초-입출력] 실수 1개 입력받아 그대로 출력하기(설명)
입력 : 실수값 1개
출력 : 입력된 실수값을 그대로 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
float num = sc.nextFloat();
System.out.printf("%f", num);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
** printf 메서드 ( 출력 메서드 )
- 형식을 지정하여 출력을 할 수 있게 도와주는 메서드이다.
System.out.format 메서드를 사용해도 결괏값은 동일하게 출력된다.
ex) System.out.format("%f", num);
!! println 메서드로 출력할 경우 실수형 값이 문자열 값으로 변환되어 소수점 이하의 불필요한 0을 제거하기 때문에 답이 틀리게 나옵니다 !!
** %f 형식 지정자
- float와 double형을 출력할 수 있는 형식 지정자이다.
- 기본적으로 소수점 이하 6자리까지 출력한다.
# 1013 : [기초-입출력] 정수 2개 입력받아 그대로 출력하기(설명)
입력 : 정수 2개가 공백으로 구분되어 입력
출력 : 입력된 두 정수를 공백으로 구분하여 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
System.out.println(num1 + " " + num2);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
System.out.printf("%d %d", num1, num2);로 출력해도 결과는 똑같다.
# 1014 : [기초-입출력] 문자 2개 입력받아 순서 바꿔 출력하기(설명)
입력 : 문자 2개가 공백으로 구분되어 입력
출력 : 입력된 두 문자의 순서를 바꿔 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str1 = sc.next();
String str2 = sc.next();
System.out.println(str2 + " " + str1);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
System.out.printf("%s %s", str2, str1);로 출력해도 결과는 똑같다.
# 1015 : [기초-입출력] 실수 입력받아 둘째 자리까지 출력하기(설명)
입력 : 실수 1개
출력 : 소수점 셋 째 자리에서 반올림하여 소숫점 이하 둘째 자리까지 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
float num = sc.nextFloat();
System.out.printf("%.2f", num);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
'%.nf' 는 실수형을 반올림하여 소숫점 이하 n번째 자리까지 출력하라는 뜻이다.
즉, 문제에서 사용한 '%.2f'는 실수형을 반올림하여 소숫점 이하 2번째 자리까지 출력해달라는 뜻이다.
# 1017 : [기초-입출력] 정수 1개 입력받아 3번 출력하기(설명)
입력 : 정수 1개
출력 : 입력받은 정수를 공백으로 구분해 3번 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
System.out.println(num + " " + num + " " + num);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
System.out.printf("%d %d %d", num, num, num);로 출력해도 결과는 똑같다.
# 1018 : [기초-입출력] 시간 입력받아 그대로 출력하기(설명)
입력 : 시(hour)와 분(minute)이 ":" 으로 구분되어 입력
출력 : 입력받은 시간을 "시:분" 형식으로 출력
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(str);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
시:분으로 입력되는 값을 하나의 문자열로 보고 next 메소드를 활용하여 간단하게 문제 해결!
:를 기준으로 구분하려면 따로 배열을 만들고 split 메서드를 활용해 분리해야 한다.
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str = sc.next();
String[] time = str.split(":");
System.out.printf("%s:%s", time[0], time[1]);
sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
}
}
'Coding > Java - BaekJoon' 카테고리의 다른 글
[백준][Java] 10951번 A + B - 4 문제풀이 (3) | 2025.01.24 |
---|---|
[코드업/Codeup] Java : 1001~1007 풀이 [기초-출력] (0) | 2024.07.01 |