부울 메서드를 사용하여 완벽한 숫자를 찾으려면 Java 코딩에 문제가 있습니다. 나는 다음과 같이 출력하고 싶습니다 : 예 : '6은 완벽한 숫자입니다. 6은 1, 2, 3 '의 합계입니다. 그렇지 않은 경우 : '9는 완벽한 숫자가 아닙니다.부울을 사용하여 완벽한 숫자 확인
그러나 "6은 1, 2, 3의 합계입니다. ". 누구든지 나를 도울 수 있습니까?
import java.util.Scanner;
public class trial
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner perfect = new Scanner(System.in);
System.out.print("Enter any integer number : ");
int n = perfect.nextInt();
if(isPerfectNumber(n))
{
System.out.println(n+" is a perfect number");
}
else
{
System.out.println(n+" is not a perfect number");
}
}
public static boolean isPerfectNumber(int n)
{
int sum = 0;
for (int i=1; i<n; i++)
{
if (n%i == 0)
{
sum = sum + i;
}
}
if (sum == n)
{
return true;
}
else
{
return false;
}
}
}
: 그럼 당신은 모두 요소를 포함하고
n
완벽 여부를 결정하는 데 사용할 수있는 하나의 결과가? 코드는 다음과 같이됩니다 : – FATimport java.util.Scanner; import org.apache.commons.lang3.StringUtils; 공용 클래스 테스트 { \t 공공 정적 무효 메인 (문자열 []에 args) { \t \t \t // TODO 자동 생성 방법 마취 = 새로운 ArrayList를 () \t \t ArrayList를 스터브; \t \t 스캐너 완전 = 새 Scanner (System.in); \t \t System.out.print ("임의의 정수 입력 :"); \t \t int n = perfect.nextInt(); \t \t \t \t 경우 (isPerfectNumber (N)) { \t \t \t \t \t 에서 System.out.println (N + "완전한 번호는"); \t \t \t "System.out.println (n +"은 "+ StringUtils.join (numbs,", "))의 합계입니다. 다른 \t \t} \t \t \t \t { \t \t에서 System.out.println (N + "완벽한 숫자가 아닌"); \t \t \t}} –
FAT
공공 정적 부울 isPerfectNumber (INT 않음) \t \t \t {INT 합 = 0; \t \t 찾는 (나는은 N <; I = 1 int로 난 ++) \t \t { \t \t \t 경우 (N % I == 0) \t \t \t { \t \t \t \t numbs.add (I); \t \t \t \t sum = sum + i; \t \t \t \t \t }} \t \t 경우 (합계 == N) \t \t \t \t { \t 참을 리턴; 거짓 다른 \t \t} \t \t \t \t { \t \t \t 반환; \t \t } – FAT