文章詳情頁
java - 求一個范圍內的素數的問題。
瀏覽:132日期: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”類型的左操作數的運算符
相關文章:
排行榜
