我正在创建一个程序,在该程序中它生成质数直到用户输入的特定数。当我在运行程序时输入数字时,程序不会输出任何内容,并且仍在运行,我无法弄清原因。我尝试使用double而不是int,并且尝试使用i ++而不是++ i都没有解决问题。有人请帮忙!!这是我写的代码:
package assignment_4_1;
import java.util.Scanner;
public class Assignment_4_1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("Enter a number above 50 to find all of the primes between 1 and that number: ");
int upto = input.nextInt();
int firstloop = 1;
while(firstloop < upto)
{
for(int i=2; i<=firstloop; ++i)
{
double secondloop;
if(firstloop % i == 0)
{
secondloop = 0;
}
secondloop = 1;
if(secondloop == 1);
{
System.out.println(firstloop);
}
firstloop++;
}
}
}
}
感谢谁能告诉我我做错了什么。
如果您想调试代码,请尝试使用较小的值(如铅笔纸)进行测试,可以对所有代码进行循环测试,以获取素数或数值,我们实际上应该从素数的定义开始:但是由1表示,如果number不是素数,则为self,所以它们的n为1 <n <number和number / n = real === number%n = 0,更确切地说是1 <n / number <2 :
Scanner input = new Scanner (System.in);
int number= input.nextInt();
boolean prime;
for (int i=1;i<=number;i++)
{
prime=true;
for(int j=2;j<=i/2;j++)
{
if(i%j==0)
{
prime=false;
break;
}
}
if(prime)
{
System.out.println(i+",");
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句