当前位置: 首页 > 知识库问答 >
问题:

不打印完美数字

鲁财
2023-03-14

这是我的代码:-

package javaapplication;

import java.util.Scanner;

public class perfect02 {

    public static void main(String args[]) {
        int i = 1, sum = 0;

        System.out.println("Enter maximum range : ");
        Scanner kb = new Scanner(System.in);

        int a = kb.nextInt();
        System.out.println("Enter minimum range : ");

        Scanner kb2 = new Scanner(System.in);
        int b = kb2.nextInt();

        System.out.println("perfect number in the given range are :");
        for (int n = b; n <= a; n++) {
            while (i < n) {
                if (n % i == 0) {
                    sum = sum + i;
                }
                i++;
            }
            if (sum == n)
                System.out.println(+n + " ");
        }
    }
}

为什么程序不打印完美的数字?

我已经检查了很多次代码,但我找不到解决方案。请告诉我代码中出了什么问题。提前谢谢

任何帮助都将不胜感激。。。。

共有1个答案

马德宇
2023-03-14

在这里,我研究了完美数生成并为您修复了它!

public static void main(String args[]) {
    Scanner kb = new Scanner(System.in);
    System.out.println("Enter minimum range : ");
    int b = kb.nextInt();
    System.out.println("Enter maximum range : ");
    int a = kb.nextInt();
    kb.close();
    System.out.println("Perfect number in the given range are :");
    for (int n = b; n <= a; n++) {
        int sum = 0;
        int i = 1;
        while (i < n) {
            if (n % i == 0)
                sum = sum + i;
            i++;
        }
        if (sum == n)
            System.out.println(n + " is perfect");

    }
}

您应该在for循环中声明sum和i变量,以便为每个数字重置它们!

 类似资料:
  • *update2:增加了Keyboard.nextint的限制。 在我尝试打印赔率和偶数的部分遇到了“字符串文字不是由双引号关闭”的错误。 *update3:修正了上面的错误(由打字造成)。

  • 问题内容: 我是python的新手:我的目标是在while循环后打印完成的语句,但它给了我语法错误 我正在尝试在python中复制相同的php程序 我试过了 仍然失败,不能在结束后使用打印,还是必须等待一段时间才能完成打印 问题答案: 如果看到’>>>’,则表示您 未在编写程序 。您正在使用口译员。您一次输入一个语句。 如果要编写程序,请将其保存在扩展名为.py的纯文本文件中。您应该能够通过双击它

  • 接收字节数组(表示任何内容:某种有线格式、某种形式的编码数据、带有嵌入“文本”的二进制数据等)。我希望能够以以下形式打印数组: 作为十六进制字符串 作为“可打印”文本 第一种情况部分是出于调试的原因,但也可以在非调试模式下使用。第二种情况纯粹是出于调试的原因,并允许人类与其他信息源进行比较。 如果任何人有如何实现这一点的信息,我将非常感谢。

  • 我正在使用Epson ePOS打印机TM-T20,我已经运行了SDK示例并且它可以工作,但是,我正在尝试编写一个小型应用程序进行打印。 打印机已成功找到,数据已成功发送,但未打印。如果有人能帮忙,我会很感激的。 这是我的代码: 显示 这是我的主要活动

  • 我试图从代码厨师那里解决识别素数的问题 爱丽丝和鲍勃过了很长时间才见面。像往常一样,他们喜欢玩一些数学游戏。这一次爱丽丝接了电话,决定了比赛。游戏很简单,爱丽丝说出一个整数,鲍勃必须说出这个数字是否是质数。鲍勃像往常一样知道逻辑,但由于爱丽丝没有给鲍勃太多时间思考,所以鲍勃决定写一个计算机程序。 通过编写一个计算机程序来帮助Bob完成这项任务,该程序将计算该数字是否为素数。 输入 输入的第一行包含

  • 我做了一个关于1-1000之间的完美数的家庭作业,其中一个数等于它的除数之和。我找到了正确的代码来检查一个数字是否是一个完美的数字,并发现这些数字是1,6,28,496(我不知道为什么会包括1,但我老师的例子中包括了1)。我的问题很简单。我希望得到的结果是: 1=1 6=123 28=124714 496=123816162124248 但我最终得到的结果是: 1=1 6=1234 496=123