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;
}
}
'토익' 카테고리의 다른 글
지극히 현실적인 첫 토익 700후반 (3) | 2024.09.04 |
---|---|
자바 문풀 3 (1) | 2024.09.02 |
자바 문제풀이2 (2) | 2024.09.01 |
8.25 토익 후기 (0) | 2024.08.26 |
토익 문법 정리2(서아쌤 6시간) (0) | 2024.08.19 |