java - 计算完美数

标签 java boolean static-methods boolean-logic perfect-numbers

看,我有一个 boolean 方法,它通过用一个除数来修改数字来获取除数,该除数由 for 循环检查并确定为真(不是第一个,它只是循环程序以获得确定的输入量。 我不确定是否有某种方法可以获取循环的多个结果并将它们加在一起,但这就是我需要做的。现在我正在显示循环的结果,但那是为了调试,最终输出将是丰富(添加的除数超过数字)、完美(添加的除数等于数字)还是不足(添加的除数小于数字) 这是eclipse中的代码:

import java.util.*;
public class PerfectNumber {

    /**
     * @param args
     */
    public static void main(String[] args) {
        for(int i = 0; i < 15; i++)
        {
            Scanner reader = new Scanner(System.in);
            int number = 0;
            int divisor = 1;
            int addnum = 0;
            System.out.println("Please input a number to check if it is perfect, abundant, or deficient");
            number = reader.nextInt();

            for(divisor = 1; divisor < number; divisor++)
            {
                isDivisor(number, divisor);
                if(isDivisor(number, divisor) == true)
                {
                    System.out.println(divisor);
                }
            }
        }   
    }

    static boolean isDivisor(int number, int divisor)
    {
        if (number % divisor == 0)
            return true;
        else 
            return false;
    }

}

最佳答案

回答你似乎迫在眉睫的问题,听起来像是家庭作业问题;)

I'm not sure if there's some way to take the multiple results of the loop and add them together

您可以检查函数的返回结果就像您已经在做的那样并增加计数器

public boolean isSeven(int x){
    return x == 7;
}

public static void main(String[] args){
    int sumOfSevens= 0;
    int i = 0;
    while(i < 10){
        if(isSeven(7)){
            sumOfSevens = sumOfSevens + 7; // or +=
            ++i;
        }
    }
    // At this point sumOfSevens = 70;
} 

关于java - 计算完美数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20389187/

相关文章:

java - JavaCV HoughCircles方法的参数如何传递和使用

java - Soap 消息调用 Web 服务时的 NullPointer

java - Swing:JScrollPane 导致渲染问题

java - java中多线程的问题

java - 带开关( boolean 值)Android 的 ListView

c# - 静态方法作为契约(Contract)的一部分

java - 检查 "boolean"类型的 "int"结果

c++ - ~ 运算符对 bool 的行为很奇怪

flutter - 为什么我们应该在 dart 中使用 static 关键字代替抽象?

java - 在 Java 中添加实例变量后静态方法/变量的行为发生变化