Мне нужно написать программу, которая находит простые числа между двумя введенными пользователем номерами. Единственная проблема, с которой я столкнулся, состоит в том, что на выходе есть одна дополнительная запятая, чем нужно. Как я могу это исправить?Разделительный вывод целых чисел с запятыми в java
import java.util.Scanner;
public class Primes {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int start = sc.nextInt();
int end = sc.nextInt();
for (int i =start; i <= end; i++) {
if (isPrime(i)) {
System.out.printf("%d,", i);
}
}
}
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i =2; i < Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
Вход: 1 10
Выход: 2,3,4,5,7,9,
ли вы знать заранее, который является последним премьер в диапазоне? –
Вы не можете напечатать запятую после целого числа, потому что в этот момент вы не знаете, будет ли другое целое число. Вместо этого напечатайте запятую _before_ целое число и не делайте это в первый раз. Возможно, вам понадобится 'boolean', чтобы отслеживать, является ли это в первый раз. – ajb
Мой комментарий был к удаленному комментарию от shmosel, а не вам. –