java - 我不明白这是如何决定什么是素数什么不是素数

标签 java

对这里的编程非常陌生,试图了解这是如何工作的,但我似乎无法做到这一点,花了很长时间盯着这个。

代码已经可以工作了,我只是不完全理解。

class PrimeNum{
public static void main(String[] args) {
int a;
int b;
boolean isprime;

System.out.println("this is a program listing prime numbers up to 100");

for(a = 2; a < 100; a++){

for(b=2; b <= a/b; b++) 

  ```if((a%b) == 0) isprime = false;```

  if(isprime)
  System.out.println(a + " is prime.");
  }
 }
}

我认为我理解这两行,如果我错了,请纠正我。

我这样说是否正确,如果 a 小于 100,则递增 如果 b 小于或 = a/b,则再次递增,始终如此

我不明白的行特别突出显示,==0需要什么?

我似乎无法理解这里发生的概念以及它如何确定什么是素数、什么不是素数。

最佳答案

好的,我们开始:

public static void main(String[] args){..}

这是每个Java程序都应该有的main方法。您将学习用户定义的方法,但那是稍后的事了;

我们将跳过变量声明...

for(a = 2; a < 100; a++){...
}

第一个循环会为您提供一个数字,用于确定其素数...

for(b=2; b <= a/b; b++) 

  if((a%b) == 0)
 isprime = false;

可能 b 是 a 的除法...

因此,如果您对数字 2 执行 6 次, 无论除 2 的余数是否为零,都会如此。 这里一直到 100。逻辑是除数将小于或等于被除数(b <= a/b)。

SO a%b == 0 表示如果 a 除以 b 并且余数为零,则它是素数,因为素数除了 1 和数字本身之外没有因数。

希望您清楚这一点。

所以请保持冷静,如果有问题,请编码并点赞或评论!

关于java - 我不明白这是如何决定什么是素数什么不是素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57835568/

相关文章:

java - 字符串排序

java - 如何在 JAX-RS 和 JAX-WS Web 服务实现之间进行选择?

java - Android:如何将 ListView 点击传播到可跨越的字符串?

java - 用Java 存储数据。文本文件、csv 还是其他方法?

java - : Pattern pattern = Pattern. 编译 ("\\"出了什么问题);

java - 如何使用具有三个继承级别的节

java - 如何在android中使用url类型源制作完美的媒体播放器

java - 获取空结果集以进行简单查询

linux - 错误 : jar not found in bash after installing OpenJDK

带表达式的 Java 数组声明