文章详情页
java - 求一个范围内的素数的问题。
浏览:105日期:2024-03-23 15:23:22
问题描述
package text;
import java.util.Scanner;
public class test {
public static void main(String[] args) { Scanner in = new Scanner(System.in); int x; x = in.nextInt(); boolean isprime = true; for (int i = 2; i <= x; i++) { for(int j = 2; j < i; j++) { if(i % j == 0) { isprime = false; break; } } if(isprime) System.out.print(i + ' '); isprime = true; //这里为什么一定要重新赋值true?不赋值为什么没有运行结果? } } }
问题解答
回答1:isprime 变量你可以看成是一个标志,程序中是根据isprime的最后取值来决定是否打印i.至于你问的为什么重新赋值,这是为了下一轮的循环做准备呀。倘若不初始化isprime的值为true,之后即便i为素数也无法打印i。
标签:
java
上一条:java - 这种情况怎么设计class? 有什么设计模式吗下一条:java - C++ error C2678: 二进制“<<”: 没有找到接受“const std::ostream”类型的左操作数的运算符
相关文章:
1. sass - gem install compass 使用淘宝 Ruby 安装失败,出现 4042. javascript - js 对中文进行MD5加密和python结果不一样。3. mysql里的大表用mycat做水平拆分,是不是要先手动分好,再配置mycat4. window下mysql中文乱码怎么解决??5. 为啥不用HBuilder?6. python - (初学者)代码运行不起来,求指导,谢谢!7. javascript - h5上的手机号默认没有识别8. python - 获取到的数据生成新的mysql表9. python的文件读写问题?10. 为什么python中实例检查推荐使用isinstance而不是type?
排行榜
