2016-08-15 4 views
0

사용자 입력 n (int)을 사용하고 루프의 루프를 사용하여 n까지의 모든 소수를 계산하는 작은 프로그램을 작성했습니다. 사용자가 예를 들어 85023을 입력하면 매우 긴 일련의 숫자가됩니다. 출력을 매 10 번째 숫자로 나누려면 어떻게합니까? 이것은 산출물을보다 프로페셔널하고보기에 깔끔하게 만들 것이다.긴 내용을 인쇄 할 때 끊김 JAVA

관련 코드 :

for (i = 1; i <= n; i++) 
    { 
    int counter=0; 

     for(num =i; num>=1; num--) 
     { 
      if(i%num==0) 
      { 
       counter = counter + 1; 
      } 
     } 
     if (counter ==2) 
     { 
      // Append prime numbers to string 
      primeNumbers = primeNumbers + i + " "; 
     } 
    } 
    // Print Number 
    System.out.println("Primtallene fra 1 til " + n + " er: "); 
    System.out.println(primeNumbers); 
} 
+0

얼마나 자주 초가를 찾았는지와 10 일 후에'\ n'을 포함하는 횟수를 계산하시오. – SomeJavaGuy

+0

'counter = counter + 1;'은'counter + = 1;'로 단축 될 수 있으며'counter ++ ; "(또는'++ counter;'-이 경우에는 중요하지 않습니다.) – JonK

답변

0

당신은이 같은 현재 발견 소수의 수를 카운트하는 별도의 카운터 수 :,

int primeCount = 0; 
for (i = 1; i <= n; i++) 
    { 
    int counter=0; 

     for(num =i; num>=1; num--) 
     { 
      if(i%num==0) 
      { 
       counter = counter + 1; 
      } 
     } 
     if (counter ==2) 
     { 
      // Append prime numbers to string 
      primeNumbers = primeNumbers + i + " "; 
      // Increment prime counter 
      primeCount++; 
      // If 10 primes have been printed then add new line and reset counter 
      if ((primeCount % 10) == 0) { 
       primeNumbers += "\n"; 
      } 
     } 
    } 
    // Print Number 
    System.out.println("Primtallene fra 1 til " + n + " er: "); 
    System.out.println(primeNumbers); 
} 

\n가 개행 문자를이 희망 도움이됩니다.

+0

"== 10 "대신 ((primeCount % 10) = 0) (이는" 10), 그렇지 않으면 첫 번째 10 다음에 단 하나의 중단이 추가됩니다. – Matt

+1

'primeCount' (10) == 0) {{}}을 수행하여'primeCount'를 재설정 할 필요가 없도록 할 수도 있습니다. 매번 – JonK

+0

아, 죄송합니다. JonK는 좋은 점이 있지만 가능한 경우 복잡한 코드를 작성하지 않는 것이 좋습니다. – Matt