Java 返回空字符串的素数循环 公共字符串素数() { //创建要返回的变量 字符串prime=“”; int num=0; for(int i=0;i
其目标是生成一个介于1和上限(私有变量限制)之间的素数列表。然而,当我运行代码时,我得到一条空白消息作为返回。这是为什么?我不太理解代码的逻辑,但是有助手方法是很好的Java 返回空字符串的素数循环 公共字符串素数() { //创建要返回的变量 字符串prime=“”; int num=0; for(int i=0;i,java,for-loop,Java,For Loop,其目标是生成一个介于1和上限(私有变量限制)之间的素数列表。然而,当我运行代码时,我得到一条空白消息作为返回。这是为什么?我不太理解代码的逻辑,但是有助手方法是很好的 public String primeNumbers() { //create variable to be returned String prime = ""; int num = 0; for(int i = 0; i < this.limit; i++) {
public String primeNumbers()
{
//create variable to be returned
String prime = "";
int num = 0;
for(int i = 0; i < this.limit; i++)
{
num = this.limit - i;
for(int count = 2; count < this.limit; count++)
{
if ( num % count == 0)
{
count = this.limit + 1;
}
else if ( num == count)
{
prime += num + ", ";
}
}
}
return prime;
}
公共字符串素数()
{
//创建要返回的变量
字符串prime=“”;
for(int i=0;i 如果(number昨天有一个关于这个的问题,我写这篇文章是为了给自己复习
public String primeNumbers()
{
//create variable to be returned
String prime = "";
for(int i = 0; i < this.limit; i++)
{
if(this.isPrime(i)){
prime += i + ", ";
}
}
return prime;
}
private boolean isPrime(int number){
if(number <= 1){
return false;
} else if(number == 2){
return true;
}
for(int i = 2; i < number; i++){
if(number%i == 0){
return false;
}
}
return true;
}
公共类Erasthotenes
{
私有整数范围;
私有布尔[]nums;
公共以太网(整数范围)
{
这个范围=范围;
nums=新布尔值[范围];
对于(int i=0;i
此.limit的值是多少?它是任何正数测试代码时的数字是多少?我打赌您没有设置它,因此它是0,因此您得到一个空白字符串。
public class Erasthotenes
{
private int range;
private boolean[] nums;
public Erasthotenes(int range)
{
this.range = range;
nums = new boolean[range];
for(int i = 0; i < nums.length; ++i)
{
nums[i] = true;
}
nums[0] = nums[1] = false;
}
public void sieve()
{
int root = (int) Math.sqrt(range);
for(int i = 2; i < root; ++i)
{
for(int j = i + 1; j < range; ++j)
{
if(j % i == 0)
{
nums[j] = false;
}
}
}
}
public void printPrimes()
{
for(int i = 0; i < nums.length; ++i)
{
if(nums[i] == true)
{
System.out.print(i + ", ");
}
}
}
}