2012-10-23 1 views
1

내가 1에서 지금까지이있어 101에 소수 작업을 수행하는 방법을 알아 내려고 노력하고있어위한 자바를 알아낼 수 없습니다 :이 작동하려면 break 문를 얻었으나, 조건

public class BreakShow{ 
    public static void main(String[] args){ 
    int i; 
    int prime; 

    System.out.println("Prime numbers from 1 to 101 : "); 
    for (i = 1;i < 102;i++){ 
     for (prime = 2;prime < i;prime++){ 
      if(i % prime == 0) { 
       break; 
      } 
     } 
     if(i == prime) { 
      System.out.print(" " + i); 
     } 
    } 
    } 
} 

나는 그것을 인쇄 할 수 없다. 나는 i의 값을 바꾸고 프라임을 시도했지만 작동하지 않는다. 인쇄물과 연결되어있는 것 같아 계속되지 않습니다. 나는 진술서의 조건과 그것이 어떻게 작동 하는지를 정말로 이해하지 못한다고 생각합니다.

+1

두 루프의 첫 번째 반복을 통해 프라임 = 2 및 i = 1을 가질 수 있습니다. 그렇다면 당신은 프라임 ghostbust555

+0

1은 소수가 아니다. – arshajii

답변

0

프라임 변수는 값 2로 초기화되지만 1 == 2를 확인합니다. 조건

System.out.println("i:: "+ i+ " prime:: "+prime); 
    if(i == prime) 
     { 
      System.out.print(" " + i); 
     } 

so if clause does not meet the condition 
0

무엇 일어나는 것은입니다 (당신이 1의 경우를 테스트 할 때) 나는,이 루프 = 1 일 때 : 주요 내가 비해 결코 실제로 작기 때문에

for (prime = 2;prime < i;prime++){ 
    if(i % prime == 0) { 
     break; 
    } 
} 

주요 때문에, 실행하지 마십시오 2에서 시작됩니다. 즉, i == 프라임인지 아닌지를 확인합니다. 프라임 = 2 이후로는 절대 존재하지 않습니다.

0

자바 1가 소수 아니라는 것을 알고 그것을 인쇄하지 않는 경우

당신은 이전 값 i와 소수를 테스트 할 수 있습니다.

첫 번째 두 개의 Google 검색 결과는 '1이라는 소수입니다'라는 것을 증명합니다.

+1

글쎄 자바는 본질적으로 1이 소수가 아니라는 것을 알지 못합니다. 프로그램은 결코 1을 출력하지 못하도록 정의되어 있습니다. – arshajii

0

fizz 버즈를 소수로 만들려고한다면, 하나의 루프와 mod가 2가되어야합니다. 그냥 이런 식으로 할 수 있습니다. 제 for 루프 이후

for(int i = 1; i <= 101; i++){ 
    if((i%2) != 0) // use the smallest even number to check against. 
     println("prime"); 
} 
0

는 인쇄하기 전에 1 조건 때문에 i==prime의 스킵 2에서 시작한다. 1을 인쇄하려면 다음과 같이 조건을 업데이트하십시오.

 public static void main(String[] args) { 
      int prime; 
      System.out.println("Prime numbers from 1 to 101 : "); 
      for (int i = 1;i < 102;i++){ 
       for (prime= i-2;prime > 1;prime--){ 
        if(prime< 0 || i % prime == 0) { 
         break; 
        } 
       } 
       if(prime < 0 || prime==1) { 
        System.out.print(" " + i); 
       } 
      } 
     } 
+0

@ user1588867 :이게 도움이됩니까? –