如何使这个代码的最终输出每十个数字缩进?

时间:2017-03-01 19:50:36

标签: java string loops newline bluej

此代码旨在列出用户在最小和最大输入之间的素数。当数字在代码末尾输出时,它们都在同一行。我希望每行有10个数字,所以我假设每个十个数字都需要一个循环,但我不知道怎么做。虽然我在这里发布了代码,但其他无关的反馈会有所帮助。

    String primenumbers = "";

    System.out.println("Prime Number Generator.");
    System.out.print("Minimum: ");
    int oldmin = s.nextInt();
    s.nextLine();
    int min = oldmin;
    System.out.print("Maximum: ");
    int max = s.nextInt();
    s.nextLine();
    System.out.println();

    for (min = min; min <= max; min++)         
    {             
       int counter=0;
       int num = min;
       for(num = min; num >= 1; num--)
       {
          if(min % num == 0)
          {
              counter = counter + 1;
          }
       }
       if (counter == 2)
       {
           primenumbers = primenumbers +min+ " ";
       }    
    }
    System.out.println("Primes Between "+oldmin+" & "+max+":");
    System.out.print(primenumbers);

1 个答案:

答案 0 :(得分:0)

不是将素数合并到string,而是将它们添加到列表中,最后列出iterate列表,例如:

primenumbers = primenumbers +min+ " ";将替换为

List<Integer> primenumbers = new ArrayList<>();
primenumbers.add(min);

System.out.println("Primes Between "+oldmin+" & "+max+":");语句后,您可以执行以下操作:

for(int i=0 ; i < primenumbers.size() ; i++){
    System.out.print(primenumbers.get(i) + " ");
    if(i+1 % 10 == 0){
        System.out.println();
    } 
}