这是我的代码:-
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 + " ");
}
}
}
为什么程序不打印完美的数字?
我已经检查了很多次代码,但我找不到解决方案。请告诉我代码中出了什么问题。提前谢谢
任何帮助都将不胜感激。。。。
在这里,我研究了完美数生成并为您修复了它!
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