[QUIZ] 최솟값, 최댓값 / 인터페이스 사칙연산


입력한 숫자의 최솟값, 최댓값 구하기


배열 크기와 배열 크기만큼 숫자를 입력받고, 입력한 숫자 중 가장 큰 값과 가장 작은 값 구하기


  • MainClass
import java.util.Scanner;

public class ArrayNumMain {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("배열 개수 입력 : ");
		int len = scanner.nextInt();
		
		int[] num = new int[len];
		System.out.printf("숫자 %d개를 입력하세요 : ", len);
		for (int i = 0; i < num.length; i++) {
			num[i] = scanner.nextInt();
		}
		
		scanner.close();
		
		ArrayNum arrayNum = new ArrayNum(num);
		int max = arrayNum.mtdBig();
		int min = arrayNum.mtdSmall();
		System.out.printf("가장 큰 값은 %d이고, 가장 작은 값은 %d입니다.", max, min);
	}

}
  • CustomClass
public class ArrayNum {
	
	int[] num;

	public ArrayNum(int[] num) {
		this.num = num;
	}

	public int mtdBig() {
		
		int max = num[0];
		
		for (int i = 0; i < num.length; i++) {			
			if (num[i] > max) {
				max = num[i];
			}
		}
		
		return max;
	}
	
	public int mtdSmall() {
		
		int min = num[0];
		
		for (int i = 0; i < num.length; i++) {			
			if (num[i] < min) {
				min = num[i];
			}
		}
		
		return min;
	}
}


출력결과)

배열 개수 입력 : 5
숫자 5개를 입력하세요 : 45 89 31 65 1
가장  값은 89이고, 가장 작은 값은 1입니다.



인터페이스를 이용해 사칙연산하기


인터페이스와 인터페이스 구현, 오버라이딩을 이용해 사칙연산 하기


  • Main.java
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		System.out.print("숫자 두개 입력 : ");
		double num1 = scanner.nextDouble();
		double num2 = scanner.nextDouble();
		
		System.out.println("1. 덧셈 \t 2.뺄셈 \t 3.곱셈 \t 4. 나눗셈");
		int code = scanner.nextInt();
		scanner.close();
		
		Calc calc = null;
		
		try {
			
			if (code == 1) {
				calc = new Add(num1, num2);
			} else if (code == 2) {
				calc = new Sub(num1, num2);
			} else if (code == 3) {
				calc = new Mul(num1, num2);
			} else if (code == 4) {
				calc = new Div(num1, num2);
			} 
			
			calc.calc();
			
		} catch (Exception e) {
			System.out.println("숫자를 다시 확인해주세요");
		}
	
	}

}
  • Calc.java (interface)
public interface Calc {

	public abstract void calc();
	
}
  • Add.java (implements Calc)
public class Add implements Calc {

		double num1;
		double num2;
		
	public Add(double num1, double num2) {
			this.num1 = num1;
			this.num2 = num2;
		}
	
	@Override
	public void calc() {
		double res = num1 + num2;
		System.out.printf("계산결과 : %.1f", res);
	}


}
  • Mul.java (implements Calc)
public class Mul implements Calc{

		double num1;
		double num2;
		
	public Mul(double num1, double num2) {
			this.num1 = num1;
			this.num2 = num2;
		}
	
	@Override
	public void calc() {
		double res = num1 * num2;
		System.out.printf("계산결과 :  %.1f", res);
	}

}
  • Sub.java (implements Calc)
public class Sub implements Calc {
		
		double num1;
		double num2;
		
	public Sub(double num1, double num2) {
			this.num1 = num1;
			this.num2 = num2;
		}

	@Override
	public void calc() {
		double res = num1 - num2;
		System.out.printf("계산결과 :  %.1f", res);
	}

}
  • Div.java (implements Calc)
public class Div implements Calc {
	
		double num1;
		double num2;
		
	public Div(double num1, double num2) {
			this.num1 = num1;
			this.num2 = num2;
		}
	
	@Override
	public void calc() {
		double res = num1 / num2;
		System.out.printf("계산결과 : %.1f", res);
	}
}

Categories:

Java