此代码旨在列出用户最小输入和最大输入之间的质量数。当数字在代码末尾输出时,它们都在同一行上。我希望每行十个数字有十个数字,所以我认为每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);
,而不是将质数列入 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();
}
}