文章详情页
java - 求一个范围内的素数的问题。
浏览:121日期: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. css3 - [CSS] 动画效果 3D翻转bug2. python小白的基础问题 关于while循环的嵌套3. javascript - 百度echarts series数据更新问题4. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...5. php自学从哪里开始?6. java固定键值转换,使用枚举实现字典?7. python - Django分页和查询参数的问题8. 求大神帮我看看是哪里写错了 感谢细心解答9. phpstady在win10上运行10. MySQL客户端吃掉了SQL注解?
排行榜
