Java 기본자료형의 문법과 입출력, 연산, 반복문, 조건문, 문자열 처리 등을 연습하기 위한 기본 예제 정리
입력 예시:
abc bcd efg
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
// 한 줄 입력: "abc bcd efg"
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
// 공백 기준으로 문자열 분리
String[] arr = input.split(" ");
System.out.println(arr[0]); // abc
System.out.println(arr[1]); // bcd
System.out.println(arr[2]); // efg
br.close();
}
}
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) throws IOException {
// 한 줄 입력: "abc bcd efg"
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
// 공백을 기준으로 토큰화
StringTokenizer st = new StringTokenizer(input);
System.out.println(st.nextToken()); // abc
System.out.println(st.nextToken()); // bcd
System.out.println(st.nextToken()); // efg
br.close();
}
}
요구사항:
0.25를 출력하기 위해 정수 나눗셈에 형 변환을 적용한다.
public class Main {
public static void main(String[] args) {
int a = 1;
int b = 4;
// (double) a 로 형 변환하여 실수 나눗셈 수행
System.out.println((double) a / b); // 0.25
}
}
요구사항: 문자열에 포함된 알파벳(a~z, A~Z) 개수 출력.
public class Main {
public static void main(String[] args) {
String st1 = "01aZFbcsdf한글123";
int count = 0;
for (int i = 0; i < st1.length(); i++) {
char ch = st1.charAt(i);
// 소문자 또는 대문자 알파벳인지 검사
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
count++;
}
}
System.out.println(count); // 알파벳 개수
}
}
요구사항: 비밀번호를 입력받아 맞으면 “문이 열렸습니다.”, 틀리면 “비밀번호가 틀렸습니다.” 출력.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String answer = "1234"; // 정답 비밀번호
String answerInput = br.readLine(); // 사용자 입력
// 삼항 연산자 사용
String result = answerInput.equals(answer)
? "문이 열렸습니다."
: "비밀번호가 틀렸습니다.";
System.out.println(result);
br.close();
}
}
요구사항: 번호를 입력받아 해당 서비스 안내 문구 출력.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int callNumInput = Integer.parseInt(br.readLine());
switch (callNumInput) {
case 1:
System.out.println("대출 업무 입니다.");
break;
case 2:
System.out.println("예금 업무 입니다.");
break;
case 3:
System.out.println("적금 업무 입니다.");
break;
default:
System.out.println("번호를 잘못 입력하셨습니다.");
break;
}
br.close();
}
}
요구사항:
- 비밀번호를 맞추면 “문이 열렸습니다.” 출력 후 즉시 종료
- 5회 입력을 초과할 때까지 맞추지 못하면 “비밀번호 횟수를 초과하였습니다.” 출력 후 종료
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String answer = "1234";
int count = 0;
while (true) {
String answerInput = br.readLine();
if (answerInput.equals(answer)) {
System.out.println("문이 열렸습니다.");
break;
} else {
System.out.println("비밀번호가 틀렸습니다.");
}
count++;
if (count == 5) {
System.out.println("비밀번호 횟수를 초과하였습니다.");
break;
}
}
br.close();
}
}
요구사항:
- 정수를 입력받아 그 수의 구구단(1단 ~ 9단까지) 출력
- 입력은 무한히 반복
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
int input = Integer.parseInt(br.readLine()); // 단수 입력
int n = 1;
while (n < 10) {
System.out.println(input + "X" + n + "=" + (input * n));
n++;
}
}
}
}
요구사항: 1부터 20까지의 수 중 짝수의 합 출력.
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i <= 20; i++) {
if (i % 2 == 0) { // 짝수 판별
sum += i;
}
}
System.out.println(sum); // 짝수 합
}
}
요구사항: 두 정수의 최대공약수(GCD) 구하기.
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) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int min = (a > b) ? b : a; // 또는 Math.min(a, b)
int answer = 0;
// 1부터 min까지 모두 검사
for (int i = 1; i <= min; i++) {
if (a % i == 0 && b % i == 0) {
answer = i;
}
}
System.out.println(answer);
br.close();
}
}
요구사항: 정수 n이 소수인지 여부를 판별.
소수: 1과 자기 자신을 제외한 수로 나누어지지 않는 수.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
boolean isTrue = true;
// i * i <= n 으로 가지치기(제곱근까지만 검사)
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
isTrue = false;
break;
}
}
if (n == 1) {
isTrue = false;
}
String result = isTrue ? "소수입니다." : "소수가 아닙니다.";
System.out.println(result);
br.close();
}
}
요구사항: 2단부터 9단까지 모든 구구단을 한 번에 출력.
public class Main {
public static void main(String[] args) {
for (int i = 2; i < 10; i++) {
System.out.println(i + "단 입니다.");
for (int j = 1; j < 10; j++) {
System.out.println(i + "X" + j + "=" + (i * j));
}
System.out.println("=========================");
}
}
}
제가 아는 구구단은 아이돌에서 끝났습니다