티스토리 뷰

back/Java

KH 6일차

devel0per 2022. 7. 7. 20:58
import java.util.Scanner;

 

class CoditionalOperator 
{
	public static void main(String[] args) 
	{
		int a = 14, b = 21, c = 43, d = 59;

		int max;
		int min;

		max = ( a > b) ? a : b;      // max = 21
		max = ( max > c) ? max : c;   // max = 43
		max = ( max > d) ? max : d;   // max = 59

		System.out.println("max : " + max); // max = 59출력.

		min = ( a < b ) ? a : b;
		min = ( min < c ) ? min : c;
		min = ( min < d) ? min : d;

		System.out.println("min : " + min);

	}
}

다항연산자 ( a > b ) ? a : b ; 라는 식에서 a > b가 참이라면 ?뒤에 있는 a를 출력하고, 거짓이라면 : 뒤에 있는 b를 출력하는 개념으로 작동한다.

 


class If_2 
{
	public static void main(String[] args) throws Exception
	{

		int a;

		System.out.print("문자를 입력하세요 !!");

		a = System.in.read();

		if((a>='A') && (a<='Z'))
		{
			System.out.println(" " + (char)a + "는 대문자입니다.");

		}else if((a>='a') && (a<='z'))
		{
			System.out.println(" " + (char)a + "는 소문자입니다.");

		}else if((a>=48) && (a<='9'))
		{
			System.out.println(" " + (char)a + "는 숫자입니다.");

		}else
		{
			System.out.println(" " + (char)a + "는 영문자, 숫자가 아닙니다.");

		}
	}
}

제어문을 공부하면서 첫 번째로 IF문을 알려주셨다. If - else if - else 로 이루어진 제어문이 코드를 조금 더 유연하고 효과적으로 짤 수 있게 도와준다.


import java.util.Scanner;

Class If_3{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        int a;
        String hak ="";
        System.out.println("점수를 입력하세요");
        a = sc.nextInt();
        if(a>90){
        	hak = "A";
            System.out.println("당신의 학점은 " + hak);
            if(a>97){
            	hak += "++";
                System.out.println("당신의 학점은" + hak);
                }
                else if(a <93){
                	hak += "--";
                    System.out.println("당신의 학점은" + hak);
               	}
        }
        else if(a>80){
        	hak = "B";
            System.out.println("당신의 학점은 " + hak);
        }
        else if(a>70){
        	hak = "C";
            System.out.println("당신의 학점은 " + hak);
        }
        else if(a>60){
        	hak = "D";
            System.out.println("당신의 학점은 " + hak);
        }
        else if(a>50){
        	hak = "B";
            System.out.println("당신의 학점은 " + hak);
        }
        else{
        	hak = "F";
        	System.out.println("당신의 학점은 " + hak);
    
    	}
	}
}​

if문을 활용해서 사용자의 점수를 입력받아서 학점을 계산해주는 코드를 작성하였다. 여기서 살짝 키포인트는 중복 if문을 사용하여 a++, a, a-- 범위를 센스있게 나눌 수 있다는 점이다!!


 

이렇게 오늘의 중요한 key ponit는 if문을 활용한 제어문과, Scanner 이 두개이다! 

 

오늘 배웠던 것 들을 활용하기 위해서 몇개의 예제 문제를 풀어보았다.

 

1) Scanner 클래스를 이용하여 원화를 이용받아 달러로 바꾸어 다음 예시와 같이 출력하는 프로그램을 작성해보자.

$1 = 1100으로 가정하고 계산해보자.

 

import java.util.Scanner;
 
public class Test_1 {
    public static void main(String[] args) {
 
        float dollor;
        int won;
 
        System.out.print("환전하고 싶은 원화를 입력하시오 : ");
        Scanner scan = new Scanner(System.in);
        won = scan.nextInt();
 
        dollor = (float)won / 1100;
        System.out.printf("%d원 환전 액수 = %f", won, dollor);
    }
}

 

2) Scanner 클래스를 이용하여 2자리의 정수 ( 10 ~ 99 사이 ) 를 입력받고, 십의 자리와 1의 자리가 같은지 판별하여 출력하는 프로그램을 작성하자.

2자리 정수 입력 : 99

출력 : Wow! 10의 자리와 1의 자리가 같습니다 = 99

 

import java.util.Scanner;

Class Test_2{
	public static void main(String[] args){
    	
        Scanner sc = new Scanner(System.in);
        
        int a;
        
        System.out.println("10부터 99까지 수를 입력해주세요");
        
        a = sc.nextInt();
        
        if ( (a < 10) || (a > 99) ){
        	System.out.println("범위를 유의해주세요");
            }
            else if (a % 11 == 0){
            	System.out.println(a + "의 일의 자리와 십의 자리는 같습니다.");
            }
            else{
            	System.out.println("1의 자리와 10자리가 같지 않습니다.");
            }

	}
}

 


(3)Scanner 클래스를 이용하여 정수로 된 돈의 액수를 입력받아 5만원권, 1만원권, 5천원권, 1천원권, 500원, 100원, 50원, 1원 으로 각 몇개씩 변환 되는지를 출력하라.

바꾸고 싶은 액수를 입력하세요 : 55000

 

import java.util.Scanner;

Class Test_3{
	public static void main(String[] args){
    	
        Scanner sc = new Scanner(System.in);
        
        int money, won, res;
        
        System.out.println("바꾸실 돈을 입력해주세요");
        
        won = sc.nextInt();
        
        
        
        money = won;     // won = 62000
        res = won / 50000 ;  // res = 1
        money = won - (res * 50000); // money = 12000
        
        System.out.println("5만원권은" + res + "장 입니다.");
        
        res = won / 10000 ;  // res = 1
        money = won - (res * 10000); // money = 2000
        
        System.out.println("1만원권은" + res + "장 입니다.");
        
        res = won / 1000 ;  // res = 2
        money = won - (res * 1000); // money = 0
        
        System.out.println("1천원권은" + res + "장 입니다.");
        
  
	}
}

4) Scanner 클래스로 정수 3개를 입력받고 3개의 숫자 중 중간 크기의 수를 출력하자. 평균값을 구하는 것이 아니라 중간 값을 출력. 

import java.util.Scanner;

Class Test_4{
	public static void main(String[] args){
    	
        int = a, b, c, mid;
        
        Scanner sc = new Scanner();
        
        System.out.println("3개의 숫자를 입력해주세요");
        
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        
        if(((a < b) && (b < c)) || ((a < b) && (b > c) && (a < c)) || ((a > b) && (b < c) && (a < c))){
        	mid = a;
            System.out.println("입력하신 3개의 정수중 중간값은" + a);
            }
            else if(((a < b) && (b < c)) || ((a > b) && (b >c))){
            	mid = b;
                System.out.println("입력하신 3개의 정수중 중간값은" + b);
                }else{
                	mid = c;
                    System.out.println("입력하신 3개의 정수중 중간값은" + c);
                    }
   

	}
}

4번은 틀린답! 아직 이해가 안되서 조금만 더 고민해보고 수정하도록 하겠습니당.

'back > Java' 카테고리의 다른 글

KH 8일차  (0) 2022.07.11
KH 7일차  (0) 2022.07.10
KH 5일차  (0) 2022.07.06
KH 4일차  (0) 2022.07.05
KH 3일차  (0) 2022.07.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크