자바 실습(복습) 문제
[실습문제]
Scanner / Switch문을 이용해서 출력
국어, 영어, 수학 점수 입력 받아서 평균 계산
90-100 A학점
80 이상이면 B학점
70 이상이면 C학점
60 이상이면 D학점
60점 미만은 F학점
import java.util.Scanner;
public class Ex02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int kor;
int eng;
int mat;
String name;
System.out.println("이름은?");
name = sc.next();
System.out.println("kor 점수를 입력해주세요");
kor = sc.nextInt();
System.out.println("eng 점수를 입력해주세요");
eng = sc.nextInt();
System.out.println("mat 점수를 입력해주세요");
mat = sc.nextInt();
int tot = kor + eng + mat;
int avg = tot / 3;
System.out.println("이름 : " + name);
System.out.println("kor : " + kor);
System.out.println("eng : " + eng);
System.out.println("mat : " + mat);
System.out.println("tot : " + tot);
System.out.println("avg : " + avg);
int score = avg / 10;
switch (score) {
case 10:
case 9:
System.out.println("A학점 입니다.");
break;
case 8:
System.out.println("B학점 입니다.");
break;
case 7:
System.out.println("C학점 입니다.");
break;
case 6:
System.out.println("D학점 입니다.");
break;
default:
System.out.println("F학점 입니다.");
break;
}
}
}
[실습문제]
1.
switch 문
id를 입력 하세여 입력
admin or Admin
관리자입니다. 출력
import java.util.Scanner;
public class Ex03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String id = null;
String pw = null;
System.out.println("id를 입력해주세요");
id = sc.next();
System.out.println("id : " + id);
switch (id) {
case "admin":
case "Admin":
System.out.println("관리자");
break;
default:
System.out.println("비관리자입니다.");
break;
}
}
}
switch문과 if문, for문 사용
2. 메뉴 생성(1. 배수 출력 2. 성적처리)
1. 배수 출력
초기치 입력 : 5
최종치 입력 : 20
초기치에서 최종치까지 범위에서 홀수의 합 / 짝수의 합 / 3또는 4의 배수의 합 출력)
그 외 id를 입력 하면
비관리자 입니다.
2. 성적처리
국어점수 :
영어점수 :
입력 받아셔 평균 계산
조건 : 평균이 60점 이상이면 모든 과목이 40점 이상이면
출력
국어 : xx 수학 : xx 평균 : xx 합격여부 : 합격 / 불합격 출력
import java.util.Scanner;
public class Ex05 {
public static void main (String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("메뉴 \n" + "1. 배수 출력\n"+"2. 성적 처리\n");
int kor; int eng; int mat;
String name;
int num;
int sum = 0; // 배수
int sum1 = 0; // 홀수의 합
int sum2 = 0; // 짝수의 합
int sum3 = 0; // 4의 배수의합
num = sc.nextInt();
switch(num) {
case 1
: System.out.println("배수 출력");
for(int i=5; i<20; i++) {
sum += i;
if (sum % 3 == 0) {
sum1 += i;
}else {
sum2 += i;
}
if(sum % 4 == 0) {
sum3 += i;
}
}
System.out.println("홀수의 합 : " + sum1);
System.out.println("짝수의 합 : " + sum2);
System.out.println("3.4배수의 합 : " +(sum1+sum3));
break;
case 2
:
System.out.println("이름은?");
name = sc.next();
System.out.println("kor 점수를 입력해주세요");
kor = sc.nextInt();
System.out.println("eng 점수를 입력해주세요");
eng = sc.nextInt();
System.out.println("mat 점수를 입력해주세요");
mat = sc.nextInt();
int tot = kor+eng+mat;
double avg = tot/3.0;
System.out.println("이름 : " + name);
System.out.println("kor : " + kor);
System.out.println("eng : " + eng);
System.out.println("mat : " + mat);
System.out.println("tot : " + tot);
System.out.println("avg : " + avg);
if(avg>=60 && kor>=40 && eng>=40 && mat>=40) {
System.out.println("합격입니다.");
}else {
System.out.println("불합격입니다.");
}
break;
}
}
}
[실습문제]
아이디 : admin 암호 : 1234
중첩 IF
아이디 입력 :
비밀번호 입력 :
1.
조건 아이디가 admin 이면 비밀번호 비교 아이디가 admin민이 아니면
아이디 출력 잘못된 관리자 아이디 입니다.
2. 아이디가 admin리면 암호 비교 암호 일치라면 정상적으로 admin으로 로그인이 되었습니다.
아니면 잘못된 비밀번호를 출력하면서 로그인 실패 출력
import java.util.Scanner;
public class Ex06 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
String id = null;
String pw = null;
System.out.println("id를 입력해주세요");
id = sc.next();
if(id.equals("admin")) {
System.out.println("id가 확인되었습니다. 비밀번호를 입력해주세요");
System.out.println("비밀번호 : ");
pw = sc.next();
if(pw.equals("1234")) {
System.out.println("접속 되었습니다..");
}else {
System.out.println("비밀번호가 틀립니다..");
}
}else {
System.out.println("잘못된 아이디입니다.");
}
}
}
/* -------------- 국/영/수 (입력부) -------------- */
// TODO
// 국/영/수 점수 입력
// 조건)
// 1) 각 과목을 별도로 입력
// 2) 과목 입력 타이틀(표제) 출력
// ex) 국어 점수 입력 :
// 3) 각 과목 입력값 => 각 과목 변수 대입
// TODO
// 데이터 입력 유효성 검사/재입력 유도
// 예외처리(try ~ catch)
// 0 ~ 100 사이의 정수 입력 되면 유효 판정
//
// 무한 루프/분기
import java.util.InputMismatchException;
import java.util.Scanner;
public class Ex08 {
public static void main(String[] args) {
int kor;
int eng;
int mat;
Scanner sc = new Scanner(System.in);
String subjects[] = { "국어", "영어", "수학" };
int[] scores = new int[subjects.length];
for (int i = 0; i < subjects.length; i++) {
while (true) {
System.out.println(subjects[i] + "값을 입력해주세요");
try {
scores[i] = sc.nextInt();
} catch (InputMismatchException e) {
// 잘못된 데이터 값을 넣어주면 오류 발생
System.out.println("잘못된 값의 입력입니다.");
continue;
// 오류가 나온다고 끝나지않게 continue;
}
// i가 0~100 사이로 나오게 검사
if (scores[i] >= 0 && scores[i] <= 100) {
break;
} else {
System.out.println("잘못된 값입니다.");
}
}
}
kor = scores[0];
eng = scores[1];
mat = scores[2];
System.out.println("kor : "+ kor);
System.out.println("eng : "+eng);
System.out.println("mat : "+mat);
int tot = scores[0] + scores[1] + scores[2];
double avg = tot / scores.length;
System.out.println("tot : "+tot);
System.out.println("avg : "+avg);
sc.close();
}
}