本文介绍了使用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打印一系列素数的程序
发布评论