아래 예시와 같이 메뉴를 출력하고 메뉴 번호를 누르면 “OO메뉴입니다“를,
종료 번호를 누르면 “프로그램이 종료됩니다.”를 출력하세요. (OO은 해당 메뉴명)
1,2,3,4,7이 아닌 다른 숫자 입력 시 "잘못 입력하셨습니다" 출력
- 입력
- 수정
- 조회
- 삭제
- 종료
메뉴 번호를 입력하세요 : 3
조회 메뉴입니다.
public void practice1() {
Scanner sc = new Scanner(System.in);
System.out.println("1. 입력");
System.out.println("2. 수정");
System.out.println("3. 조회");
System.out.println("4. 삭제");
System.out.println("7. 종료");
System.out.print("메뉴 번호를 선택하세요 : ");
int select = sc.nextInt();
String result = "";
switch(select) {
case 1: result = "입력"; break;
case 2: result = "수정"; break;
case 3: result = "조회"; break;
case 4: result = "삭제"; break;
case 7: System.out.println("프로그램이 종료됩니다"); break;
default: System.out.println("잘못 입력하셨습니다.");
}
switch(select) {
case 1: case 2: case 3: case 4:
System.out.println(result + " 메뉴입니다."); break;
}
sc.close();
}
키보드로 입력 받은 정수가 양수이면서 짝수일 때만 “짝수입니다.”를 출력하고
짝수가 아니면 “홀수입니다.“를 출력하세요.
양수가 아니면 “양수만 입력해주세요.”를 출력하세요.
숫자를 한 개 입력하세요 : 8
짝수입니다.
숫자를 한 개 입력하세요 : 17
홀수입니다.
숫자를 한 개 입력하세요 : -3
양수만 입력해주세요.
public void practice2() {
Scanner sc = new Scanner(System.in);
System.out.print("숫자를 한 개 입력하세요 : ");
int num = sc.nextInt();
if (num > 0) {
if (num % 2 == 0)
System.out.println("짝수입니다.");
else
System.out.println("홀수입니다.");
} else
System.out.println("양수만 입력해주세요.");
sc.close();
}
국어, 영어, 수학 세 과목의 점수를 키보드로 입력 받고 합계와 평균을 계산하고
합계와 평균을 이용하여 합격 / 불합격 처리하는 기능을 구현하세요.
(합격 조건 : 세 과목의 점수가 각각 40점 이상이면서 평균이 60점 이상일 경우)
합격 했을 경우 과목 별 점수와 합계, 평균, “축하합니다, 합격입니다!”를 출력하고
불합격인 경우에는 “불합격입니다.”를 출력하세요.
국어점수 : 88
수학점수 : 50
영어점수 : 40
불합격입니다.
국어점수 : 88
수학점수 : 50
영어점수 : 45
국어 : 88
수학 : 50
영어 : 45
합계 : 183
평균 : 61.0
축하합니다, 합격입니다!
public void practice3() {
Scanner sc = new Scanner(System.in);
System.out.print("국어점수 : ");
int kor = sc.nextInt();
System.out.print("영어점수 : ");
int eng = sc.nextInt();
System.out.print("수학점수 : ");
int math = sc.nextInt();
boolean flag = false;
int sum = kor + eng + math;
double avg = sum / 3;
if (avg >= 60) {
if (kor >= 40 && eng >= 40 && math >= 40 ) {
System.out.println("국어 : " + kor);
System.out.println("영어 : " + eng);
System.out.println("수학 : " + math);
System.out.println("합계 : " + sum);
System.out.printf("평균 : %.1f\n", avg);
System.out.println("축하합니다, 합격입니다!");
} else flag = true;
} else flag = true;
if (flag) System.out.println("불합격입니다.");
sc.close();
}
1~12 사이의 수를 입력 받아 해당 달의 일수를 출력하세요.(2월 윤달은 생각하지 않습니다.)
잘못 입력한 경우 “OO월은 잘못 입력된 달입니다.”를 출력하세요. (switch문 사용)
1~12 사이의 정수 입력 : 8
8월은 31일까지 있습니다.
1~12 사이의 정수 입력 : 99
99월은 잘못 입력된 달입니다.
public void practice4() {
Scanner sc = new Scanner(System.in);
System.out.print("1~12 사이의 정수 입력 : ");
int month = sc.nextInt();
int result = 0;
boolean flag = true;
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
result = 31; break;
case 2: case 4: case 6: case 9: case 11:
result = 30; break;
default:
System.out.println(month + "월은 잘못 입력된 달입니다.");
flag = false;
}
if (flag) System.out.println(month + "월은 " + result + "일까지 있습니다.");
sc.close();
}
키, 몸무게를 double로 입력 받고 BMI지수를 계산하여 계산 결과에 따라
저체중/정상체중/과체중/비만을 출력하세요.
BMI = 몸무게 / (키(m) * 키(m))
BMI가 18.5미만일 경우 저체중 / 18.5이상 23미만일 경우 정상체중
BMI가 23이상 25미만일 경우 과체중 / 25이상 30미만일 경우 비만
BMI가 30이상일 경우 고도 비만
키(m)를 입력해 주세요 : 1.65
몸무게(kg)를 입력해 주세요 : 58.4
BMI 지수 : 21.45087235996327
정상체중
public void practice5() {
Scanner sc = new Scanner(System.in);
System.out.print("키(m)를 입력해 주세요 : ");
double m = sc.nextDouble();
System.out.print("몸무게(kg)를 입력해 주세요 : ");
double kg = sc.nextDouble();
double bmi = kg / (m * m);
String result;
if (bmi < 18.5) result = "저체중";
else if (bmi < 23) result = "정상체중";
else if (bmi < 25) result = "과체중";
else if (bmi < 30) result = "비만";
else result = "고도비만";
System.out.println("BMI 지수 : " + bmi);
System.out.println(result);
sc.close();
}
중간고사, 기말고사, 과제점수, 출석횟수를 입력하고 Pass 또는 Fail을 출력하세요.
평가 비율은 중간고사 20%, 기말고사 30%, 과제 30%, 출석 20%로 이루어져 있고
이 때, 출석 횟수는 총 강의 횟수 20회 중에서 출석한 날만 따진 값으로 계산하세요.
70점 이상일 경우 Pass, 70점 미만이거나 전체 강의에 30% 이상 결석 시 Fail을 출력하세요.
중간 고사 점수 : 80
기말 고사 점수 : 30
과제 점수 : 60
출석 횟수 : 18
================= 결과 =================
중간 고사 점수(20) : 16.0
기말 고사 점수(30) : 9.0
과제 점수 (30) : 18.0
출석 점수 (20) : 18.0
총점 : 61.0
Fail [점수 미달]
중간 고사 점수 : 80
기말 고사 점수 : 90
과제 점수 : 50
출석 횟수 : 15
================= 결과 =================
중간 고사 점수(20) : 16.0
기말 고사 점수(30) : 27.0
과제 점수 (30) : 15.0
출석 점수 (20) : 15.0
총점 : 73.0
Pass
중간 고사 점수 : 100
기말 고사 점수 : 80
과제 점수 : 40
출석 횟수 : 10
================= 결과 =================
Fail [출석 횟수 부족 (10/20)]
public void practice6() {
Scanner sc = new Scanner(System.in);
System.out.print("중간 고사 점수 : ");
double mid = sc.nextDouble() * 0.2;
System.out.print("기말 고사 점수 : ");
double fin = sc.nextDouble() * 0.3;
System.out.print("과제 점수 : ");
double task = sc.nextDouble() * 0.3;
System.out.print("출석 횟수 : ");
double att = sc.nextDouble();
double sum = mid + fin + task + att;
System.out.println("================= 결과 =================");
if (att <= (20 * 0.7)) {
System.out.println("Fail [출석 횟수 부족 (" + (int)att + "/20)]");
} else {
System.out.printf("중간 고사 점수(20) : %.1f\n", mid);
System.out.printf("기말 고사 점수(30) : %.1f\n", fin);
System.out.printf("과제 점수 (30) : %.1f\n", task);
System.out.printf("출석 점수 (20) : %.1f\n", att);
System.out.printf("총점 : %.1f\n", sum);
if (sum >= 70) System.out.println("Pass");
else System.out.println("Fail [점수 미달]");
}
sc.close();
}
키보드로 두 개의 정수와 연산 기호를 입력 받아 연산 기호에 맞춰 연산 결과를 출력하세요.
단, 두 개의 정수 모두 0보다 크거나 같을 때만 작동하며
음수가 포함된 경우 “피연산자는 0보다 크거나 같은 수만 입력해주세요.” 출력
잘못된 연산 기호를 입력 했을 시 “잘못 입력하셨습니다.” 출력
피연산자1을 0으로 나눌 경우(/ 또는 %) “0으로 나눌 수 없습니다 출력"
피연산자1 입력 : 15
연산자 입력(+,-,*,/,%) : /
피연산자2 입력 : 4
15 / 4 = 3.750000
피연산자1 입력 : 15
연산자 입력(+,-,*,/,%) : !
잘못 입력하셨습니다.
피연산자1 입력 : 0
연산자 입력(+,-,*,/,%) : /
0은 나눌 수 없습니다.
public void practice7() {
Scanner sc = new Scanner(System.in);
int num1;
int num2;
char op;
double result = 0;
boolean flag = true;
System.out.print("피연산자1 입력 : ");
num1 = sc.nextInt();
if (num1 < 0)
System.out.println("피연산자는 0보다 크거나 같은 수만 입력해주세요.");
else {
System.out.print("연산자 입력(+,-,*,/,%) : ");
op = sc.next().charAt(0);
if (num1 == 0 && op == '/')
System.out.println("0은 나눌 수 없습니다.");
else {
switch(op) {
case '+': case '-': case '*': case '/': case '%':
System.out.print("피연산자2 입력 : ");
num2 = sc.nextInt();
if (num2 < 0) {
System.out.println("피연산자는 0보다 크거나 같은 수만 입력해주세요.");
flag = false;
}
else {
switch(op) {
case '+': result = num1 + num2; break;
case '-': result = num1 - num2; break;
case '*': result = num1 * num2; break;
case '/':
if (num2 == 0) flag = false;
else result = (double)num1 / num2; break;
case '%':
if (num2 == 0) flag = false;
else result = num1 % num2; break;
}
if (flag)
System.out.printf("%d %c %d = %f\n", num1, op, num2, result);
else
System.out.println("0으로 나눌 수 없습니다.");
break;
}
default: System.out.println("잘못 입력하셨습니다.");
}
}
}
sc.close();
}