【发布时间】:2014-11-06 14:11:03
【问题描述】:
我正在创建一个程序,在该程序中,它可以生成最多由用户输入的特定数字的素数。当我在运行程序时输入数字时,程序不输出任何内容,并且仍在运行,我不知道为什么。我尝试使用 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++;
}
}
}
}
感谢谁能告诉我我做错了什么。
【问题讨论】:
-
你还有一个 if 语句对
if(secondloop == 1);没有任何作用,如果你删除了分号,下一个块将有条件地执行而不是总是执行。 -
@mdl 这是我的问题,感谢您的帮助:)
标签: java for-loop while-loop primes