当前位置: 首页 > 知识库问答 >
问题:

无法将大量素数打印到控制台

姬凡
2023-03-14
public class PrimeFinder implements Runnable {
    Thread go;
    StringBuffer primes = new StringBuffer();
    int time = 0;
    
    public PrimeFinder() {
        start();
        while (primes != null) {
            System.out.println(time);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException exc) {
                // do nothing
            }
            time++;
        }
    }
    
    public void start() {
        if (go == null) {
            go = new Thread(this);
            go.start();
        }
    }
    
    public void run() {
        int quantity = 1_000_000;
        int numPrimes = 0;
        // candidate: the number than might be prime
        int candidate = 2;
        primes.append("\nFirst ").append(quantity).append(" primes:\n\n");
        while (numPrimes < quantity) {
            if (isPrime(candidate)) {
                primes.append(candidate).append(" ");
                numPrimes++;
            }
            candidate++;
        }
        System.out.println(primes);
        primes = null;
        System.out.println("\nTime elapsed: " + time + " seconds");
    }
    
    public static boolean isPrime(int checkNumber) {
        double root = Math.sqrt(checkNumber);
        for (int i = 2; i <= root; i++) {
            if (checkNumber % i == 0) {
                return false;
            }
        }
        return true;
    }
    
    public static void main (String[] arguments) {
        new PrimeFinder();
    }
}

我假设eclipse中存在一些限制,阻止将大量数字打印到控制台。

编辑:在5572处,控制台的输出将被清除,这是输出:

你想看多少个素数?5572

共有1个答案

柳钟展
2023-03-14

您的控制台输出可能是有限的。在日食中,得...

窗口>首选项>运行/调试>控制

取消选中限制控制台输出复选框。

 类似资料:
  • 问题内容: 我的C程序粘贴在下面。在bash中,程序打印“ char is”,不打印Ω。我的语言环境均为en_US.utf8。 问题答案: 这很有趣。显然,编译器将omega从UTF-8转换为UNICODE,但libc某种程度上将其弄乱了。 首先:-format说明符期望一个(即使在wprintf -version 中也是如此),因此您必须指定(并因此指定字符串)。 其次,如果您像这样将语言环境设

  • } 这将打印[B@12843fce而不是预期的底层字节码结构。同样的操作可以在中找到,但在这里不能在中找到。我们真的需要这个来工作。你能发现哪里出了问题或者发生了什么吗?

  • 我真的被困在作业的这一特定部分,它要求我将简单文本打印到控制台中,然后创建一个文件(无论主文件中的std::string文件名是什么),并将控制台的内容打印到该文件中。 我真的很困惑,因为该函数需要ostream,而且它还需要该函数使用任何文件名(在本例中是statistics.txt,只是为了测试该函数是否工作)。 函数是PrintStatistics。 我知道我可以使用cout在控制台上打印,

  • 问题内容: 我想获得的的通过启动到控制台。如何才能做到这一点? 这是一些不完整的代码: 问题答案: 我最近遇到了这个问题,只想提及自从Java 7以来,流程构建器api已得到扩展。现在可以使用以下方法解决此问题:

  • 你可以使用printf将消息打印到控制台,从而知道应用程序是如何运行的。这是调试代码的很有用的手段,因为你可以打印变量的值、知道什么时候代码将阻塞等等。 我们尝试使用函数unsigned char leds_get(void);打印LED的状态。 获取LED的状态,并将其打印到屏幕。修改test-leds.c如下: #include "contiki.h" #include "dev/leds.h

  • 我正在为我的应用程序使用spring boot,并且我正在使用默认的spring boot日志记录。 是否有任何配置来防止spring boot将日志消息打印到控制台?