2017-02-12 2 views
-1

私は、ユーザが入力したn1とn2の間に素数を見つけるプログラムを書いています。出力は、カンマで区切った素数でなければなりません。たとえば、次のように 、1 =整数をjavaでカンマで並べ替える

N1、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

印刷する第2の番号が印刷されるとすぐに印刷されます。そして、最初に ''、 ''を印刷してから、実際に行うのと逆のことではなく番号を出力しなければなりません。 – davidxxx

答えて

0

変更するには、プリントアウトしている最初の素数のため

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

にライン

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

、およびその後の素数のため

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

を使用しています。

また、1と10の間の素数は、3,5,7ではなく2,3,5,7であることに注意してください。

関連する問題