JAVA

User Value 선언하여 Factorial(팩토리얼) 출력하기

제이미로그 2024. 4. 16. 10:05

[문항1]  사용자에게 정수 하나를 입력 받아, 팩토리얼 값을 구하려고 한다.
단, 입력 값은 1에서 부터 10까지의 정수만 입력되도록 한다.
만약 1~10 이외의 값을 입력하면, 다시 입력 받도록 한다.

1.1. 정수형 변수 userValue를 선언하여, 사용자에게 정수 1개를 입력 받아 저장하시오. [5점]
1.2. 사용자가 1~10 이외의 정수를 입력하면, 다시 입력 받도록 코딩을 작성하시오. [15점]
1.3. 사용자가 입력한 (1~10 사이) 정수의 팩토리얼 출력하는 코딩을 작성하시오. [10점]

 

 

 

이 코드는 사용자로부터 1부터 10까지의 정수를 입력받고, 해당 정수의 팩토리얼 값을 계산하여 출력하는 프로그램입니다.

재귀함수를 이용하여 팩토리얼을 계산한다.  

재귀함수 Factorial은 다음과 같이 정의한다.

입력된 정수 'num'이 1일 때는 1을 반환하고 그렇지 않을 경우에는 'num'과 'factorial(num-1)'의 곱을 반환한다.

메인함수 Scanner를 사용하여 사용자로부터 정수를 입력 받는다.

그 후 입력된 정수와 그 정수의 팩토리얼 값을 출력한다. 코드는 입력을 마치고 Scanner를 닫는다.

 

* return : 재귀함수에서 종료 조건을 나타낸다. (ex : return 1; 함수가 종료되고 1을 반환한다.)

* break : 반복문을 종료하고 다음 문장으로 이동시킨다. while 혹은 for, do-while과 같은 반복문에서 사용한다.

* printf : Formatted print의 줄임말로 형식화된 문자열을 출력하는 함수. system.out 객체를 사용하여 콘솔에 형식화된 문자열을 출력

* %d : 정수 

* sc.close() : Scanner 객체 사용을 종료하고 리소스를 해제한다. Java에서는 사용한 리소스는 반드시 해제해야 한다.

Scanner를 닫지 않으면 메모리 누수가 발생할 수 있다. close() 메서드를 호출하여 리소스를 해제한다.