
package com.haenin.section01.conditional;
public class Application1 {
public static void main(String[] args) {
A_if a = new A_if();
// a.testSimpleIfStatement();
// a.testNestedIfStatement();
B_IfElse b = new B_IfElse();
// b.testSimpleIfElseStatement();
// b.testNestedIfElseStatement();
C_switch c = new C_switch();
// c.testSimpleSwitchStatement();
D_test d = new D_test();
d.testNestedIfElseStatement();
}
}
package com.haenin.section01.conditional;
import java.util.Scanner;
public class A_if {
public void testSimpleIfStatement() {
Scanner sc = new Scanner(System.in);
System.out.print("정수 한 개를 입력하세요: ");
int input = sc.nextInt();
// 필기. 의사코드(pseudo code): 실제 로직 구현 전에 글로 작성해 보는 것(틀을 만들어 할 수도 있음)
// 만약에(입력받은 값이 짝수면){
// "짝수입니다"" 출력
// }
if(input % 2==0){
System.out.println("짝수입니다. ");
}
}
public void testNestedIfStatement() {
Scanner sc = new Scanner(System.in);
System.out.println("양수 하나를 입력해 주세요.: ");
int input = sc.nextInt();
if(input>0){
if(input%2==0){
System.out.println("입력 받은 값은 양수이면서 짝수입니다. ");
}
}
/* 설명. 중첩 if만이 정답은 아니다. */
if(input > 0 && input % 2 ==0 ){
System.out.println("입력 받은 값은 양수이면서 짝수입니다.");
}
}
}
package com.haenin.section01.conditional;
import java.util.Scanner;
public class B_IfElse {
public void testSimpleIfElseStatement() {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 하나 입력하세요: ");
int input = sc.nextInt();
// 만약에(홀수라면){
// "입력하신 정수는 홀수입니다." 출력
// } 그렇지 않다면 {
// "입력하신 정수는 짝수입니다." 출력
// }
if(input % 2 != 0){
System.out.println("입력하신 정수는 홀수입니다.");
}else{
System.out.println("입력하신 정수는 짝수입니다.");
}
}
public void testNestedIfElseStatement() {
Scanner sc = new Scanner(System.in);
System.out.println("정수를 하나 입력하세요: ");
int input = sc.nextInt();
/* 설명. 양수이면서 짝수, 양수이면서 홀수,0 */
if(input != 0){
if(input > 0){
if (input%2==0){
System.out.println("양수이면서 짝수");
} else{
System.out.println("양수이면서 홀수");
}
}
}else {
System.out.println("0");
}
}
}
package com.haenin.section01.conditional;
import java.util.Scanner;
public class C_switch {
public void testSimpleSwitchStatement() {
Scanner sc = new Scanner(System.in);
System.out.println("본인의 등급을 입력하세요(G, S, B)");
/* 설명. 골드(G), 실버(S), 브론즈(B) 등급별 초기 점수 부여 */
char grade = sc.next().charAt(0);
// char grade = "Gold".charAt(0);
System.out.println(grade);
int point = 0 ;
switch (grade){
case 'G':
point += 100;
break;
case 'S':
point += 50;
break;
case 'B':
point += 30;
break;
default:
System.out.println("다시 입력해주세요.");
}
System.out.println("회원님께 부여된 초기 포인트는 "+point);
}
}
package com.haenin.section01.conditional;
import java.util.Scanner;
public class D_test {
public void testNestedIfElseStatement() {
/* 설명.
* ohgiraffers 대학의 김XX 교수님은 학생들 시험 성적을 수기로 계산해서 학점 등급을 매기는
* 채점방식을 사용하고 있다.
* 90점 이상이면 'A', 80점 이상이면 'B', 70점 이상이면 'C', 60점 이상이면 'D', 마지막으로
* 60점 미만인 경우에는 'F'를 학점으로 주게 된다.
* 그래서 학생의 이름과 점수를 입력하면 자동으로 학점 등급이 계산되는 프로그램을 만들기로 했다.
* (추가로, 각 등급의 중간점수(95, 85, 75...) 이상인 경우 '+'를 붙여서 등급을 세분화 해보자.)
*
* 설명.
* 출력 예시: XXX 학생의 점수는 86점이고, 등급은 B+입니다.
* 프로그램을 종료합니다.
* */
Scanner sc = new Scanner(System.in);
System.out.println("이름을 입력하세요: ");
String name = sc.nextLine();
System.out.println("점수를 입력하세요: ");
int g = sc.nextInt();
String grade = "";
if (g >= 90) {
grade = "A";
} else if (g >= 80) {
grade = "B";
} else if (g >= 70) {
grade = "C";
} else if (g >= 60) {
grade = "D";
} else {
grade = "F";
}
if (g >= 0 && g <= 100) {
/* 설명. 추가 조건 (+) 에 따라 + 부착 */
if(g == 100 | g >= 60 && g % 10 >=5){
grade += "+";
}
System.out.println(name + "학생의 학점은: " + grade);
System.out.println("프로그램을 종료합니다.");
}else{
System.out.println("입력을 다시 해주세요 교수님! ");
}
}
}