Java 嵌套的;至于;循环,混乱的结果
我需要使用嵌套for循环来获取素数列表,下面是代码:Java 嵌套的;至于;循环,混乱的结果,java,Java,我需要使用嵌套for循环来获取素数列表,下面是代码: public static void main(String[] args) { for (int i = 2; i <= 10; i++) { for (int d = 3; d <= 10; d = d + 2) { int result = d % i; System.out.
public static void main(String[] args) {
for (int i = 2; i <= 10; i++)
{
for (int d = 3; d <= 10; d = d + 2)
{
int result = d % i;
System.out.println(result);
}
}
}
publicstaticvoidmain(字符串[]args){
对于(int i=2;i这样运行,您将了解:
for (int i = 2; i <= 10; i++)
{
for (int d = 3; d <= 10; d = d + 2)
{
int result = d % i;
System.out.println("i="+i+" d:"+d+" result:"+result);
}
}
}
for(inti=2;i以下是Java代码(算法使用):
publicstaticvoidmain(字符串[]args){
int N=Integer.parseInt(args[0]);
//最初假设所有整数都是素数
布尔值[]isPrime=新布尔值[N+1];
对于(inti=2;i你所做的只是与找出其中的素数有一点关系,你使用的是模
运算符,这是必需的,但仅此而已
实际上,您需要利用该操作的结果
您可以遵循以下伪代码:-
for i = 2 to 10 {
1. set a boolean flag for prime to false;
2. for j = 2 to (i - 1) { // Since we just need to check modulus till that number
1. check the result of `i % j`
2. If any of the result in this loop is `0`, then `i` is not a prime number.
So, set the `prime` flag to false, and break out of loop,
}
3. check the value of `prime` flag. If it is `true`, print number is `prime`.
Else print not prime
}
我不会把代码给你,因为你自己试试会对你有好处。你将学习如何实现以算法步骤的形式给出的问题陈述。你只是打印所有模运算的结果,而不是检查素数
数所需的条件。你期望得到什么输出?我想打印一个列表,就像:1,3,5,7,99不是一个素数…3*3=9,对吗?然而,阅读评论我发现这已经退化为“请为我写代码”情况。投票结束。@dmckee你是对的,我需要检查它是否是一个素数。格式很好,但不是我想要的结果,谢谢。我需要它输出如下内容:1,3,5,7,9@Twocold他试图向你展示如何调试你自己的代码,通过查看打印输出,你应该能够看到你正在做什么g、 他不仅仅是在为你做作业。看起来几乎像是我自己代码的副本;)为了加快速度(只是一点点)替换你的循环标记:for(int j=i+i;j这个问题的答案已经太多了,看起来没有一个会被接受;)编辑:我错了:)我已经测试了你的代码,但是它抛出了一个java.lang.ArrayIndexOutofBoundsCeptionControl设置N到10或任何你想要的数字。谢谢你的伪代码,我知道这里出了什么问题now@Twocold..很高兴看到您喜欢伪代码,而不是上面发布的完整代码。现在您可以实现它以获得所需的内容。:)
for i = 2 to 10 {
1. set a boolean flag for prime to false;
2. for j = 2 to (i - 1) { // Since we just need to check modulus till that number
1. check the result of `i % j`
2. If any of the result in this loop is `0`, then `i` is not a prime number.
So, set the `prime` flag to false, and break out of loop,
}
3. check the value of `prime` flag. If it is `true`, print number is `prime`.
Else print not prime
}