토익

자바문풀4

Bordercolli 2024. 9. 3. 12:01
728x90

문제1.

사용자로부터 4명 학생의 국어, 수학, 영어 점수를 입력 받아서 -> 각 학생의 총점과 평균 계산 -> 2차원 배열 

package Array;

import java.util.Scanner;

public class Array1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int[][] scores=new int[4][3];
        String[] subjects={"국어","영어","수학"};

        for (int i = 0; i < 4; i++) {
            System.out.println((i+1)+"번 학생의 성적을 입력하세요");
            for (int j = 0; j < 3; j++) {
                System.out.println(subjects[j]+"점수");
                scores[i][j]=input.nextInt();
            }
        }
        for (int i = 0; i < 4; i++) {
            int total=0;
            for(int j=0; j<3; j++){
                total+=scores[i][j];
            }
            double average=total/3.0;
            System.out.println((i+1)+"번 학생의 총점: "+total+", 평균: "+average);
        }
    }
}

 

문제2.

이전 문제에서 학생수를 입력받도록 계선하자.

package Array;

import java.util.Scanner;

public class Array1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);

        System.out.print("학생수를 입력하세요: ");
        int studentNumber=input.nextInt();
        int[][] scores=new int[studentNumber][3];
        String[] subjects={"국어","수학","영어"};

        for (int i = 0; i < studentNumber; i++) {
            System.out.println((i+1)+"번 학생의 성적을 입력하세요");
            for (int j = 0; j < 3; j++) {
                System.out.print(subjects[j]+"점수:");
                scores[i][j]=input.nextInt();
            }
        }
        for (int i = 0; i < studentNumber; i++) {
            int total=0;
            for (int j = 0; j < 3; j++) {
                total+=scores[i][j];
            }
            double average=(double)total/3.0;
            System.out.println((i+1)+"번 학생의 총점: "+total+", 평균:"+average);
        }
        }
}

 

ctrl+x하면 한 라인 지워짐

문제3. 

1. 18살 미만인 경우: 미성년자는 출입이 불가합니다.

2. 18살 이상인 경우: 입장하세요

package methods;


import java.util.Scanner;

public class Method1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("나이를 입력하세요: ");
        int age=input.nextInt();
        checkAge(age);


    }
    public static void checkAge(int age) {
        if (age < 18) {
            System.out.println(age+"살, 미성년자는 출입이 불가능합니다.");
            return;
        }
        System.out.println(age+"살, 입장하세요.");
    }
}

 

"자바는 항상 변수의 값을 복사해서 대입"

shift +f6하면 변수 명 다 바꿔줌

문제4.

. 평균값 리펙토링

package methods;

public class Method1 {
    public static void main(String[] args) {
        int a=1, b=2, c=3;
        System.out.println("평균값: "+average(a,b,c));

        int x=15, y=25, z=35;
        System.out.println("평균값: "+average(x,y,z));
    }

    public static double average(int a, int b, int c) {
        int sum=a+b+c;
        double avg=(double)sum/3.0;
        return avg;
    }
}

 

문제5. 

함수 하나만 이용하여 메시지 반복 출력

package methods;

import java.util.Scanner;

public class Method1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);

        System.out.print("몇 번 입력하시겠습니까? :");
        int integer= input.nextInt();
        String message="Hello world!";
        repeat(message, integer);
    }
    public static void repeat(String message, int number) {
        for (int i = 0; i < number; i++) {
            System.out.println(message);
        }
    }
}

 

문제6. 

입출금 리팩토링

package methods;

import java.util.Scanner;

public class Method1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int balance=10000;

        System.out.print("얼마를 입금하시겠습니까? ");
        int depositAmount=input.nextInt();
        System.out.println(depositAmount+"원을 입금하셨습니다. \n 현재 잔액: "+deposit(balance, depositAmount));

        balance=deposit(balance, depositAmount);  //이 부분이 중요

        System.out.print("얼마를 출금하시겠습니까? ");
        int withdrawAmount=input.nextInt();
        System.out.println(depositAmount+"원을 입금하셨습니다. \n 현재 잔액: "+withdraw(balance, withdrawAmount));

    }
    public static int deposit(int original, int inner) {
        original+=inner;
        return original;
    }
    public static int withdraw(int original, int outer) {
        original-=outer;
        return original;
    }

    }

 

 

 

'토익' 카테고리의 다른 글

9월의 공부  (0) 2024.09.06
지극히 현실적인 첫 토익 700후반  (3) 2024.09.04
자바 문풀 3  (1) 2024.09.02
자바 문제풀이2  (2) 2024.09.01
8.25 토익 후기  (0) 2024.08.26