我是
Java的初学者.我正在编写这个程序,以显示用户提供的数字之间的所有素数.
目前的输出是:
2,3,5,7,Count: 4
但是,我希望输出如下:
“素数的数量是:”count“,它们是:”后面跟逗号分隔的所有数字
package com.example.test; import java.util.Scanner; public class PrimeTest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out .println("Enter the number till which the prime numbers are to be calculated: "); int input = scanner.nextInt(); int count = 0; // loop through the numbers one by one for (int i = 2; i < input; i++) { boolean isPrimeNumber = true; // check to see if the number is prime for (int j = 2; j < i; j++) { if (i % j == 0) { isPrimeNumber = false; break; // exit the inner for loop } } // print the number if prime if (isPrimeNumber) { count++; System.out.print(i + ","); } } System.out.println("Count: " + count); } }
解决方法
您必须存储值,例如:
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class PrimeTest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Enter the number till which the prime numbers are to be calculated: "); int input = scanner.nextInt(); List<Integer> primes = new ArrayList<>(); // loop through the numbers one by one for (int i = 2; i < input; i++) { boolean isPrimeNumber = true; // check to see if the number is prime for (int j = 2; j < i; j++) { if (i % j == 0) { isPrimeNumber = false; break; // exit the inner for loop } } // print the number if prime if (isPrimeNumber) { primes.add(i); } } System.out.println("The number of prime is: " + primes.size() + ",and they are: " + primes.toString()); } }