此代码旨在列出用户在最小和最大输入之间的素数。当数字在代码末尾输出时,它们都在同一行。我希望每行有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);
答案 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();
}
}