本文介绍了使用java打印一系列素数的程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
此代码用于打印质量序列达到给定限制,但当我尝试执行此操作时,它会进入无限循环。
This code is to print the series of prime number up to given limit but when I am trying to execute this,it goes into infinite loop.
import java.io.*;
class a
{
public static void main(String s[]) throws IOException
{
int count=1;
String st;
System.out.println("how many prime no. do you want");
BufferedReader obj= new BufferedReader (new InputStreamReader (System.in));
st=obj.readLine();
int n=Integer.parseInt(st);
while(count!=n)
{
int num=2;
for(int i=2;i<num;i++)
{
if(num%i==0)
{
count++;
break;
}
}
num++;
}
}
}
推荐答案
问题是num的值在循环开始时总是2,即使你再次说 num ++
它需要 num = 2
这是start语句,并且不会进入for循环,因此无限循环。这将工作
Problem is value of num is always 2 at the start of loop,even if you say num++
again it takes num=2
which is start statement and wont enter into for loop ever,hence so infinite loop.This will Work
int num=2;
while(count!=n) {
for(int i=2;i<num;i++) {
if(num%i==0) {
count++;
break;
}
}
num++;
}
这篇关于使用java打印一系列素数的程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!