Backend/Java

Java의 기초 테스트 1편 - 코딩 해설

개발자의 첫 걸음 2025. 7. 22. 14:00

 

안녕하세요 오늘은 기초 테스트 1편 코딩문제를 보고 

 

간단하게 해석을 하면서 같이 코딩을 해보기로 해요.

 

저도 코딩에 익숙하지 못하지만 함께 풀어 볼까요?

 

 

 

 

코드 구현 문제

 

다음 요구사항을 만족하는 코드를 작성하세요.

 

요구사항

  1. int 타입의 변수 num1에 10, double 타입의 변수 num2에 3.5를 저장합니다.
  2. 두 변수를 더한 결과를 double 타입의 변수 result에 저장합니다.
  3. 결과 값을 출력합니다.
public class Note {
    public static void change(String[] data, String s) {

// 변수 선언 및 초기화
int num1 = 10; // int 타입 변수 num1에 10 저장
double num2 = 3.5; // double 타입 변수 num2에 3.5 저장

// 2. 두 변수의 합을 계산하여 result 변수에 저장
double result = num1 + num2;

// 3. 결과 출력
System.out.println("결과: " + result); // 결과 출력
}

 

첫 번째 문제는 요구사항을 제대로 이해하신다면 충분히 하실 수 있는 문제인 것 같아요. 

 

---------------------------------- ---------------------------------- ---------------------------------- 

 

 

다음 요구사항을 만족하는 코드를 작성하세요.

 

요구사항:

  1. 사용자로부터 int 타입의 숫자 하나를 입력받습니다.
  2. 입력받은 숫자가 짝수인지 홀수인지 판단하여 출력합니다.
    • 짝수인 경우: "입력하신 숫자는 짝수입니다."
    • 홀수인 경우: "입력하신 숫자는 홀수입니다." 
public class Note {
    public static void change(String[] data, String s) {
    
// Scanner를 사용하여 사용자로부터 숫자 입력받기
Scanner scanner = new Scanner(System.in);
System.out.print("숫자를 입력하세요: ");
int number = scanner.nextInt();

// 2. 짝수인지 홀수인지 판단
if (number % 2 == 0) {
    System.out.println("입력하신 숫자는 짝수입니다.");
} else {
    System.out.println("입력하신 숫자는 홀수입니다.");
}

// 3. Scanner 닫기
scanner.close();

}

두 번째는 임의의 숫자를 작성할 때 실시간으로 출력할 수 있도록 Scanner를 이용을 해 볼 거예요.

 

// 스캐너 생성
Scanner scanner = new Scanner(System.in);

우선 스캐너를 생성이 우선이겠죠? 

 

스캐너 생성으로 임의의 숫자를 넣어 코드내용이 잘 동작하는지 확인해 볼 거예요.

 

// 2. 짝수인지 홀수인지 판단
if (number % 2 == 0) {
    System.out.println("입력하신 숫자는 짝수입니다.");
} else {
    System.out.println("입력하신 숫자는 홀수입니다.");

그다음 조건문을 이용해서 풀어볼 거예요.

 

if의 조건문으로 출력값을 다르게 할 건데요.

 

짝수와 홀수의 구분은 나눗셈을 이용한 나머지 값으로 구분할 거예요.

 

 ** if (number % 2 == 0)  // (number을 2로 나눈 나머지값-%-이 0과 같으면)

 

그다음 코드를 실행을 해서 임의의 숫자를 작성해서 코드가 잘 적용되는지 한번 확인도 해주세요!

 

 

 

 

 

---------------------------------- ---------------------------------- ---------------------------------- 

for-each

반복문을 사용하여 배열 요소를 출력할 때 적합한 코드를 작성하세요

 

int[] numbers = {1, 2, 3, 4, 5};
// 정답 작성 //
for

 

 

public class Note {
    public static void change(String[] data, String s) {
    
// 배열 선언 및 초기화
int[] numbers = {1, 2, 3, 4, 5};

// for-each 반복문을 사용하여 배열 요소 출력
for (int num : numbers) {
    System.out.println(num);
}

}

다음은 반복문인 for문을 얼마나 잘 이해하시냐에 따라

 

쉽게 풀 수도 어렵게 풀 수도 있었던 문제인 것 같아요.

 

간단하게 향상된 for문 일반 for문의 차이점을 비교하고 넘어갈게요!

 

일반 for문

for(초기화식; 조건식; 증감식) { 조건이 실행될 때까지 반복할 코드 }

 

향상된 for문

for (자료형 변수 : 배열이나 컬렉션) {  반복할 코드 }

 

보기만 해도 향상된 for문이 더 보기가 쉬운 걸 볼 수 있어요.

 

 

 

---------------------------------- ---------------------------------- ---------------------------------- 

 

다음 요구사항을 만족하는 코드를 작성하세요.

 

요구사항:

  1. Student라는 클래스를 작성합니다.
    • name (이름, 문자열 타입)과 score (점수, 정수 타입) 필드를 가집니다.
    • Student 객체를 생성할 때 이름과 점수를 초기화할 수 있는 생성자를 만듭니다.
  2. Student 객체 배열을 생성하여 학생 5명의 이름과 점수를 초기화합니다.
    • 예: 학생 이름: "John", "Jane", "Tom", "Emily", "Alex" / 점수: 85, 92, 78, 88, 95
  3. 반복문을 사용하여 점수가 90점 이상인 학생의 이름을 출력합니다.

 

class Student {
    private String name; // 이름
    private int score;   // 점수

    // 생성자
    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    // 이름을 반환하는 메서드
    public String getName() {
        return name;
    }

    // 점수를 반환하는 메서드
    public int getScore() {
        return score;
    }
}

public class Test {
    public static void main(String[] args) {
        // 1. Student 객체 배열 생성 및 초기화
        Student[] students = {
            new Student("이승아", 85),
            new Student("이도경", 92),
            new Student("이지희", 78),
            new Student("이지훈", 88),
            new Student("김명진", 95)
        };

        // 2. 점수가 90점 이상인 학생의 이름 출력
        System.out.println("90점 이상인 학생:");
        for (Student student : students) {
            if (student.getScore() >= 90) {
                System.out.println(student.getName());
            }
        }
    }
}

 

클래스 내 이름과 점수의 변수선언 및 생성자반환 방법,

 

그리고 for문을 이용하는 법을 아신다면 풀 수 있는 문제입니다.

 

---------------------------------- ---------------------------------- ---------------------------------- 

 

 

 

이렇게 코드 문제의 해석들을 알아봤는데요.

 

저는 첫 테스트를 하면서 연습이 더 필요하다고 느꼈습니다.

 

여러분들은 어떠셨나요?

 

'Backend > Java' 카테고리의 다른 글

제네릭 (Generic)  (4) 2025.07.23
Java 기초 테스트  (4) 2025.07.23
Java의 기초 테스트 1편 - 코딩  (4) 2025.07.21
Lombok 설정 방법  (4) 2025.07.17
MVC  (2) 2025.07.15