수업

+4 조건문

hs_developer 2022. 5. 5. 00:09
import java.util.Scanner;

public class test {

	public static void main(String[] arg) 
	{
	    Scanner scan = new Scanner(System.in);
	    /*
	     *  new : 새로운 메모리에 저장 요청
	     *  heap : 프로그래머가 관리하는 메모리 영역
	     *  
	     */
	    
	    System.out.print("정수 입력: ");
	    // 데이터를 받아 저장
	    
	    int num = scan.nextInt();
	    // nextInt() : 사용자가 키보드로 입력한 정수 읽어 온다.
	    
	    if(num%2==0) // 짝수
	    	System.out.println(num + "은(는) 짝수입니다.");
	    
	    if(num%2!=0) // 홀수
	    	System.out.println(num + "은(는) 홀수입니다."); // if 소속 문장이 아니다.
	    
	}

}

 

 

 


 

public static void main(String[] arg) 
	{
	    Scanner scan = new Scanner(System.in);
	    
	    System.out.println("알파벳 입력: ");
	    // Scanner의 단점: 문자를 받을 수 없다. 
	    
	    String alpha = scan.next();
	    // chatAt(): 문자 1개 추출
	    
	    char c = alpha.charAt(0);
	    
	    
	    if(c >= 'A' && c <= 'Z')
	    	System.out.println(c + "는(은) 대문자입니다.");
	    if(!(c >= 'A' && c <= 'Z')) // else if(c >= 'a' && c <= 'z')
	    	System.out.println(c + "는(은) 소문자입니다.");
	}

 

 

 


public static void main(String[] arg) 
	{
	    Scanner scan = new Scanner(System.in);
	    
	    System.out.println("정수 입력: ");
	    int num = scan.nextInt();
	    
	    if(num%3==0)
	    	System.out.println(num + "는(은) 3의 배수입니다.");
	    if(num%5==0)
	    	System.out.println(num + "는(은) 5의 배수입니다.");
	    if(num%7==0)
	    	System.out.println(num + "는(은) 7의 배수입니다.");
	    if(num%9==0)
	    	System.out.println(num + "는(은) 9의 배수입니다.");
	    
	    if(num%3!=0 || num%5!=0 || num%7!=0 || num%9!=0)
	    {
	    	System.out.println("배수가 없다.");
	    }
	}

 

 


public static void main(String[] arg) 
	{
	   Scanner scan = new Scanner(System.in);
	   System.out.println("국어 점수 입력: ");
	   int kor = scan.nextInt();
	   
	   System.out.println("영어 점수 입력: ");
	   int eng = scan.nextInt();
	   
	   System.out.println("수학 점수 입력: ");
	   int math = scan.nextInt();
	   
	   // 출력
	   System.out.println("국어 점수: " + kor);
	   System.out.println("영어 점수: " + eng);
	   System.out.println("수학 점수: " + math);
	   System.out.println("총점: " + (kor+eng+math));
	   System.out.printf("평균: %.2f\n ", (kor + eng + math) / 3.0);
	   
	   // 학점 출력
	   int score = (kor + eng + math) / 3;
	   char hakjum = 'A';
	   
	   if(score >= 90 && score <= 100)
		   hakjum = 'A';
	   if(score >= 80 && score < 90)
		   hakjum = 'B';
	   if(score >= 70 && score < 80)
		   hakjum = 'C';
	   if(score >= 60 && score < 70)
		   hakjum = 'D';
	   if(score < 60)
		   hakjum = 'F';
	   
	   System.out.println("학점: " + hakjum);
	}

 

 

// 결과 값
 
국어 점수 입력: 
60
영어 점수 입력: 
70
수학 점수 입력: 
80
국어 점수: 60
영어 점수: 70
수학 점수: 80
총점: 210
평균: 70.00
 학점: C

계산기

 

public static void main(String[] arg) 
	{
		Scanner scan = new Scanner(System.in);
		
		System.out.println("첫 번째 정수 입력: ");
		int num1 = scan.nextInt();
		
		System.out.println("두 번째 정수 입력: ");
		int num2 = scan.nextInt();
		
		System.out.println("연산자 입력(+, -, *, /): ");
		String strOp = scan.next();
		
		char op = strOp.charAt(0);
		if(op == '=')
			System.out.printf("%d + %d = %d\n", num1, num2, num1+num2);
		if(op == '-')
			System.out.printf("%d + %d = %d\n", num1, num2, num1-num2);
		if(op == '*')
			System.out.printf("%d + %d = %d\n", num1, num2, num1*num2);
		
		if(op == '/')
		{
			if(num2 == 0)
				System.out.println("0으로 나눌 게 없습니다.");
			if(num2 != 0)
				System.out.printf("%d/%d = %.2f\n", num1, num2, num1/(double)num2);
		}
	}

 

// 결과 값(1)

첫 번째 정수 입력: 
10
두 번째 정수 입력: 
0
연산자 입력(+, -, *, /): 
/
0으로 나눌 게 없습니다.




// 결과 값(2)

첫 번째 정수 입력: 
10
두 번째 정수 입력: 
3
연산자 입력(+, -, *, /): 
/
10/3 = 3.33

 


 

/*
	 * 윤년 조건
	 * 1. 4년마다 윤년
	 * 2. 100년마다 윤년에서 제외
	 * 3. 400년마다 윤년 
	 * 
	 * year%4==0 && year%100!=0 || year%400==0
	 * ERP (관리 프로그램) = 일정표
	 * 
	 */
	
	
	public static void main(String[] arg) 
	{
		Scanner scan = new Scanner(System.in);
		
		System.out.println("년도 입력: ");
		int year = scan.nextInt();
		
		// 요청 처리
		if((year%4 == 0 && year%100!=0) || (year%400==0))
			System.out.println(year + "년도는 윤년입니다.");
		if(!((year%4 == 0 && year%100!=0) || (year%400==0)))
			System.out.println(year + "년도는 윤년이 아닙니다.");
	
	}

 

 

 

 


 

복합 조건문

 


import java.util.Scanner;
public class test {
	
	public static void main(String[] arg) 
	{
		Scanner scan = new Scanner(System.in);
		
		System.out.println("첫 번째 정수 입력: ");
		int num1 = scan.nextInt();
		
		System.out.println("두 번째 정수 입력: ");
		int num2 = scan.nextInt();
		
		// 연산자
		System.out.println("연산자 입력(+, -, *, /): ");
		String strOp = scan.next(); // 문자열
		char op = strOp.charAt(0); // 문자열에 char 추출
		
		if(op == '+')
		{
			System.out.printf("%d+%d = %d\n", num1, num2, num1+num2);
		}
		else if(op == '-')
		{
			System.out.printf("%d-%d = %d\n", num1, num2, num1-num2);
		}
		else if(op == '*')
		{
			System.out.printf("%d*%d = %d\n", num1, num2, num1*num2);
		}
		else if(op == '/')
		{
			if(num2 == 0)
				System.out.println("0으로 나눌 수 없다.");
			else
				System.out.printf("%d/%d = %d\n", num1, num2, num1/num2);
		}
		else
		{
			System.out.println("잘못된 연산자입니다.");
		}
		
	}

}

 

// 결과 값

첫 번째 정수 입력: 
12
두 번째 정수 입력: 
6
연산자 입력(+, -, *, /): 
/
12/6 = 2

 


예제 문제

 

 

1. 정수 한 개를 입력 받아서, 그 수가 50 이상의 수인지 50 미만의 수인지 판단 해보자.

 

	
	public static void main(String[] arg) 
	{
		Random rnd = new Random();
		
		int num = rnd.nextInt(100)+1; // 1-100 사이 추출
		System.out.println("num= " + num);
		
		if(num >= 50)
		{
			System.out.println("50 이상입니다.");
		}
		else
		{
			System.out.println("50 미만입니다.");
		}
	}

 

 

num= 51
50 이상입니다.

 

 


 

2. 정수 한 개를 입력 받아서, 그 수가 3의 배수인지 알기

 

 

public static void main(String[] arg) {

        Scanner sc = new Scanner(System.in);

        System.out.println("정수 입력: ");
        int num = sc.nextInt();

        if (num % 3 == 0) {
            System.out.println(num + "은(는) 3의 배수입니다.");
        }

        if (num % 3 != 0) {
            System.out.println(num + "은(는) 3의 배수가 아닙니다.");
        }

    }

 

정수 입력: 
33
33은(는) 3의 배수입니다.

 

 

 


 

3. 사용자로부터 2개의 정수를 입력 받아, 그 수들의 최대 값과 최소 값, 합계와 평균 구하기.

 

 

public static void main(String[] arg) 
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("정수 2개 입력(10, 20)");
		
		int num1 = scan.nextInt();
		int num2 = scan.nextInt();
		
		int max = 0, min =0;
		if(num1 < num2)
		{
			min = num1;
			max = num2;
		}
		
//		Math.max(num1, num2)
		System.out.println("최소 값: " + min);
		System.out.println("최대 값: " + max);
		System.out.println("합: " + (min+max));
		System.out.printf("평균: %.2f", (min+max)/2.0);
		
		
	}

 

정수 2개 입력(10, 20)
30
50
최소 값: 30
최대 값: 50
합: 80
평균: 40.00

 

 


4. 정수 한 개 입력 받아, 입력 받은 수가 짝수인지 홀수인지 알기

 

 

public static void main(String[] arg) {
		
    Random rnd = new Random();

    int num = rnd.nextInt(100)+1;

    if(num%2 == 0) {
        System.out.println(num + "는(은) 짝수입니다.");
    }

    if(num%2 != 0) {
        System.out.println(num + "는(은) 홀수입니다.");
    }


}

 


 

5. 정수 한 개를 입력 받아 대소문자 구분하기

 

 

public static void main(String[] arg) 
	{
		Random rnd = new Random();
		
		int num = rnd.nextInt(26)+65; // 알파벳 추출
		int r = rnd.nextInt(2); // 0, 1
		if(r == 0)
			num += 32; // 소문자 //0: 소문자, 1: 대문자
		char c = (char)num;
		
		System.out.println("c = " + c);
		if(c >= 'A' && c<= 'Z')
			System.out.println(c + "는(은) 대문자입니다.");
		else
			System.out.println(c + "는(은) 소문자입니다.");
		
	}

 

c = b
b는(은) 소문자입니다.

 

 


 

6. Scanner 클래스를 이용해 한 개의 정수를 입력 받아 정수의 절대 값 출력 ( 1 -> 1, -1 ->1)

 

public static void main(String[] arg) 
        {
        Scanner scan = new Scanner(System.in);
        System.out.println("정수 입력: ");

        int num = scan.nextInt();
        if(num < 0)
        {
            System.out.println(num + "의 절대 값은 " + Math.abs(num) + "입니다.");
            // Math.abs(): 입력된 데이터 값이 그대로 리턴되는 함수
            System.out.println(num + "의 절대 값은 " + (-num) + "입니다.");
        }
        else
        {
            System.out.println(num + "의 절대 값은 " + Math.abs(num) + "입니다.");
            System.out.println(num + "의 절대 값은 " + (num) + "입니다.");
        }
    }

 

정수 입력: 
-23
-23의 절대 값은 23입니다.
-23의 절대 값은 23입니다.

 

 


7. 

 

100점 만점으로 성적을 입력 받아

 

90~100이면 A,

80~89이면 B,

70~79이면 C,

60~69이면 D,

그 외는 F 출력

 

 

public static void main(String[] arg) {	
	
		Scanner sc = new Scanner(System.in);
		
		System.out.println("점수 입력: ");
		int score = sc.nextInt();
		// 초기 값
		char opt = '-';
		char c = 'A';
		
		if(score >= 90)
		{
			c = 'A';
			if(score >= 98)
				opt = '+';
			else if (score < 94)
				opt = '-';
		}
		
		if(score >= 80)
		{
			c = 'B';
			if(score >= 88)
				opt = '+';
			else if (score < 84)
				opt = '-';
		}
		
		if(score >= 70)
		{
			c = 'C';
			if(score >= 78)
				opt = '+';
			else if (score < 74)
				opt = '-';
		}
		
		if(score >= 60)
		{
			c = 'D';
			if(score >= 68)
				opt = '+';
			else if (score < 64)
				opt = '-';
		}
		
		else
			c = 'F';
		
		System.out.println("학점: " + c + "" + opt);
		
	}

 

 

 


 

 

 

8. 정수 2개와 연산자(+, -, *, /)를 입력 받아 사칙 연산하는 프로그램 만들기

 

 

public static void main(String[] arg) {	
	
    Scanner sc = new Scanner(System.in);

    System.out.println("첫 번째 정수: ");
    int num1 = sc.nextInt();
    System.out.println("두 번째 정수: ");
    int num2 = sc.nextInt();

    System.out.println("연산자 입력(+, -, *, /): ");
    String strOp = sc.next();
    char op = strOp.charAt(0);

    int num3 = 0; // 이런 건 항상 0인가
    int k = 0; // 이게 기본 값이어서 식이 출력 되네

    if(op == '+')
    {
        num3 = num1 + num2;
    }

    else if(op == '-')
    {
        num3 = num1 - num2;
    }

    else if(op == '*')
    {
        num3 = num1 * num2;
    }

    else if(op == '/')
    {
        if(num2 == 0)
            k = 1;

        else
        {
            k = 0;
            num3 = num1 / num2;
        }
    }

    if(k==0)
    {
        System.out.printf("%d %c %d = %d\n", num1, op, num2, num3);
    }

    else
    {
        System.out.println("0으로 나눌 수 없다.");
    }

}

 

첫 번째 정수: 
3
두 번째 정수: 
5
연산자 입력(+, -, *, /): 
+
3 + 5 = 8

 

첫 번째 정수: 
5
두 번째 정수: 
0
연산자 입력(+, -, *, /): 
/
0으로 나눌 수 없다.

 


 

선택 조건문

 

로그인 처리

 

public static void main(String[] args) {

		final String MYID = "admin";
		final String MYPWD = "1234";
		
		// 1. 입력 값 받는다
		Scanner scan = new Scanner(System.in);
		
		System.out.print("ID 입력: ");
		String id = scan.next();
		
		System.out.println("비밀번호 입력: ");
		String pwd = scan.next();
		
		// 2. 처리
		// equalsIgnoreCase: 대소문자 구분 없이 비교
		// equals: 대소문자 구분
		if(id.equalsIgnoreCase(MYID) && pwd.equals(MYPWD)) {
			System.out.println(id + "님이 로그인되었습니다.");
		} else {
			System.out.println("아이디나 비밀번호가 틀립니다.");
		}		
		
	}

 

 

 

 

'수업' 카테고리의 다른 글

+7 배열, 크롤링  (0) 2022.05.11
+6 반복문(2차 for, while)  (0) 2022.05.10
+5 제어문(선택문, 반복문)  (0) 2022.05.09
+3  (0) 2022.05.03
+2 변수 선언, 입출력  (0) 2022.04.29