2017-02-12 3 views
-1

Я пишу программу для поиска простых чисел между введенными пользователем n1 и n2. Выходные данные должны быть просто номерами простых чисел, разделяющих их запятыми. Например:Сортировка вывода целых чисел с запятыми в java

n1 = 1, n2 = 10, выход: 3,5,7

import java.util.Scanner; 

public class Primes { 
    public static void main(String[] args) { 
    int n1, n2, flag = 0, i, j; 
    Scanner sc = new Scanner(System.in); 
    n1 = sc.nextInt(); 
    n2 = sc.nextInt(); 
    for (i = n1; i <= n2; i++) { 
     for (j = 2; j < i; j++) { 
      if (i % j == 0) { 
       flag = 0; 
       break; 
      } 
      else { 
       flag = 1; 
      } 

     } 
     if (flag == 1) { 
      System.out.printf("%d,", i); 
     } 
    } 
} 
} 

Но мой вывод: 3,5,7, с этой дополнительной запятой. Как это исправить?

+0

print '', '' только как только второе число для печати. И сначала вы должны напечатать '', '', а затем напечатать номер, а не наоборот, как и вы. – davidxxx

ответ

0

Изменения линия

System.out.printf("%d,", i); 

в

System.out.printf("%d", i); 

для первого премьера вы распечатку и использовать

System.out.printf(",%d", i); 

для последующих простых чисел.

Также имейте в виду, что числа между 1 и 10 составляют 2,3,5,7, не 3,5,7.

Смежные вопросы