본문 바로가기

Java 실전 적용

코딩은 실전이다 - (2) 최솟값, 중간값, 최댓값 구하기

728x90



[1]
  정수 3개를 각각 입력받고 (단, 같은 정수 없다고 가정) 가장 큰 값, 중간값, 가장 작은 값을 구분해서 출력

 

import java.util.Scanner;

public class Quiz05 {
	
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		int a = scan.nextInt();
		int b = scan.nextInt();
		int c = scan.nextInt();
		
		int max = 0;
		int mid = 0;
		int min = 0;
		
		
			if(a>b && a>c){
				max = a;
				if(b>c) {
					mid = b;
					min = c;
				}else {
					mid = c;
					min = b;
				}
				
			}else if(b>a && b>c){
				max = b;
				if(a>c) {
					mid = a;
					min = c;
				}else {
					mid = c;
					min = a;
					
			}
				}else if(c>b && c>a){
					max = c;
					if(b>a) {
					mid = b;
					min = a;
				}else {
					mid = a;
					min = b;		
					
				}
			System.out.printf("%d %d %d",max, mid, min);
		}
	
	
	
	}
	}



1) 정수 3개를 각각 입력받고 ( Scanner 이용 )







2) 가장 큰 값, 중간값, 가장 작은 값을 구분해서 출력























        int max = 0;
        int mid = 0; // 변수 max, mid, min 선언
        int min = 0;

         // 입력 받은 정수 a, b, c가 가장 큰 수(최댓값)일 때를 기준으로 구분
        if ( a > b && a > c ) {                 // a가 가장 큰 수일 때
             max = a;

              if ( b > c ) {                          // b가 중간값일 때
                mid = b;
                min = c;
               } else {                                // c가 중간값일 때
                 mid = c;
                 min = b;
               }

         } else if ( b > a && b > c ) {        // b가 가장 큰 수일 때
                max = b;

              if ( a > c ) {                            // a가 중간값일 때
                mid = a;
                min = c;
             } else {                                    // c 가 중간값일 때
                mid = c;
                min = a;
            }

        } else if ( c > b && c > a ) {         // c가 가장 큰 수일 때
                max = c;

            if ( a > b ) {                             // a가 중간값일 때
              mid = a;
              min = b;
          } else {                                       // b가 중간값일 때
              mid = b;
              min = a;
         }

 

 

[ 문제 1의 출력 결과 ]

 

 



[2]
정수 2개와 연산자 1개를 입력 받고, 연산자에 따른 결과값이 나오도록 출력

import java.util.Scanner;

public class Quiz06 {
	
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
	
		System.out.print("정수1>");
		int a = scan.nextInt();
		
		System.out.print("연산을 선택하세요 [+, -, *, /]>");
		String c = scan.next();
		
		System.out.print("정수2>");
		int b = scan.nextInt();
		
		
		
		switch (c) {
		case "+":
			System.out.println(a+b);
			break;
		case "-":
			System.out.println(a-b);
			break;
		case "*":
			System.out.println(a*b);
			break;
		case "/":
			System.out.println(a/b);
			break;
			
		//default:
			//break;
			
			//System.out.println();
		}
		
	}
}



1) 정수 2개와 연산자 1개를 입력 받고







 


     int a = scan.nextInt();

    String c = scan.next();

         // 연산자는 문자로 인식되기 때문에 데이터 타입을 "String"으로 해야 하고
            공백을 포함할 필요가 없기 때문에 scan. next() 사용

    int b = scan.nextInt();



2) 연산자에 따른 결과값이 나오도록 출력










 


   [ switch ~ case 구문 ]

      switch ( 값을 가지는 변수 또는 표현식 ) {
           case ( ) {
               break; }

         switch ( c ) {
                case " + ":
                  System.out.println( a+b );
                  break;

                case " - ":
                   System.out.println( a-b );
                   break;

               case " * ":
                   System.out.println( a*b );
                   break;

               case " / ":
                    System.out.println( a/b );
                    break;

 

 

[ 문제 2의 출력 결과 ]