我有一个学校作业,我需要提示用户输入两个数字,并显示两者之间的所有素数我无法弄清楚我的生活。这是我的代码,只要我输入两个数字,它就会结束。
public static void pg150Exersize1B() {
Scanner input = new Scanner(System.in);
int num, counter, num2;
System.out.println("Enter your low number");
num = input.nextInt();
System.out.println("Enter your high number");
num2 = input.nextInt();
counter = num;
while (num != num2) {
counter++;
if (num % counter == 0) {
if (counter == num) {
System.out.println(counter);
num++;
} else {
num++;
}
} else{
num++;
}
}
}
答案 0 :(得分:2)
解决任何编码问题的第一步是将文本任务转换为基本代码结构。
例如,我们可以将任务转换为以下主程序:
显示两个给定数字之间的所有素数
可以翻译为
打印给定范围内的所有数字(如果它们是素数
)
可以转换为以下伪代码:
for i in [lower,upper]
if isPrime(i)
print(i)
这个伪代码可以很简单地翻译成正确的java代码。
现在我们缺少一个额外的部分:函数isPrime(...)
。所以让我们应用相同的模式:
检查,如果给定的数字是素数
添加一些数学知识:
数字n是素数,如果它不能被范围[2,n]中的任何数字整除
我们结束了
检查,如果给定数字n不能被[2,n)范围内的任何数字整除
我会留下把剩下的东西给你。
感谢您诚实并明确这是作业。