2014-11-21 2 views
-5
for (int i = 0; i < 150; i++) { 
     if (i % 13 == 0) { 
      System.out.println("#: " + i); 
     } 
    } 

방금 ​​Java를 배우기 시작했으며 루프 문을 사용해야합니다. 나는 부분에 대해 내가 제로 INT의 전 = 0으로 초기화If 문은 루프 내에서

if (i % 13 == 0) 

변수 혼란 스러워요 그리고 당신은 (13)에 의해 제로를 나눈다면 그 결과는 더 나머지는 없습니다 0입니다. 나는 계산기를 시험해 보았다. 하지만 프로그램을 실행할 때. 이런 식으로 결과를 얻는다. 당신이보고있는

#: 0 
#: 13 
#: 26 
#: 39 
#: 52 
#: 65 
#: 78 
#: 91 
#: 104 
#: 117 
#: 130 
#: 143 
+2

음은 remaind 무엇인가 13을 13으로 나누면 (출력의 두 번째 줄)? – markspace

+1

당신의 porgram은 내가 13로 나눌 때마다 인쇄 할 것입니다, 정확히 당신의 질문은 무엇입니까? – luisluix

+1

무엇을하려고합니까? '내가 % 13'을하고 있다고 생각하니? – Kent

답변

1

결과는 (이 행에 지정 : for (int i = 0; i < 150; i++) {) 0과 150 사이의 숫자를 모두 배수가 첫 번째 루프는 1을 추가 (13)

1

의 (어떤 나머지가 없음) 반복 할 때마다 int i으로 그래서

System.out.println("#: " + i); 

: 마지막으로

(i % 13 == 0) 

는 13으로 나눈 나머지가없는 경우는 그 번호를 출력합니다 : 13으로 나눈 나머지가있는 경우는 확인합니다 결과는 기본적으로 0에서 150 사이의 13의 배수가되는 숫자입니다.

2

표시되는 내용은 정확합니다. 그래서 실제로

디스플레이 (13) 분할 내가 균등 (더 나머지를 남기지 않고) 때마다 i 값

을 : 그것은 당신의 if 문이 효율적으로 말하고 있기 때문에 일반 영어로, 13마다 시간을 추가 한 것으로 나타났습니다 않습니다 어떤 나머지 남기지 않고 당신이 균등하게 분할을보고있는 숫자의 각 : 등등

#: 0 // 0/13 = 0, no remainder 
#: 13 // 13/13 = 1, no remainder 
#: 26 // 26/13 = 2, no remainder 

및 ...

관련 문제