2016-06-21 6 views
0

3 초에서 300 초까지 계산할 수있는 루프를 만들지 묻는 질문이 있습니다. 그 부분을 얻을 수는 있지만 30 초에 도달해야하는지 묻습니다. 새 줄을 입력 한 다음 30을 다시 추가하면 60 초 후에 새 줄이 다시 만들어집니다. 이것은 지금까지 내 코드입니다숫자가 0 일 때 줄 바꿈

: 여기

int x; 
int z = 30; 

for (x = 3; x <= 300; x = x + 3) { 
    System.out.print(" " + x); 

    if (x == z) { 
     System.out.println(""); 

     z = z + 30; 
    } 
} 

는 출력 :

3 6 9 12 15 18 21 24 27 30 
33 36 39 42 45 48 51 54 57 60 
63 66 69 72 75 78 81 84 87 90 
93 96 99 102 105 108 111 114 117 120 
123 126 129 132 135 138 141 144 147 150 
153 156 159 162 165 168 171 174 177 180 
183 186 189 192 195 198 201 204 207 210 
213 216 219 222 225 228 231 234 237 240 
243 246 249 252 255 258 261 264 267 270 
273 276 279 282 285 288 291 294 297 300 
+2

@Lotharyx 귀하의 요점은? 그는 특정 문제에 대해 묻고 있습니다. – Zircon

+4

왜 이렇게 많은 downvotes있어? Stackoverflow는 새로운 프로그래머를 환영하며, 겁을주지는 않습니다. 나는 커뮤니티에서 많은 것을 보았습니다. 프로그래머들은 그들이 downvote하는 경향이 있다고 생각하는 질문을 던지기 쉽습니다. 다른 사람들에게 쉽지 않을 수도 있기 때문입니다. ** 모든 사람들이 어딘가에서 시작합니다. –

+0

@ PorkStew 질문을 수정하고 도움을 요청하는 특정 질문을 추가해주십시오. – senfo

답변

2

보십시오이 : 솔직히, 인덱스를 사용하고 곱해야

if ((x % 30) == 0) { System.out.println(); } 
+1

왜 90입니까? 그것은 30일까요? – Zircon

+0

30 개의 항목을 표시하고 새 줄을 만들길 원했습니다. 30 번마다 값을 원하면 30으로 변경하고'z'를 버리십시오. – Grayson

+0

그는 30이 카운트에 추가 될 때마다 새 라인을 원합니다. – Zircon

1

루프를 시작하고 종료 할시기를 결정하는 단계.

이해하기 쉽고 따라하기 쉽습니다.

public class NumberPrinter { 
    public static void main(String[] args) { 
     printNumbers(1, 100, 3, 10); 
    } 

    static void printNumbers(int startIndex, int endIndex, int step, int linelimit) { 
     int start = step * startIndex; 
     int end = step * endIndex; 
     int mod = step * linelimit; 

     while (start <= end) { 
      System.out.printf(" %3d", start); 

      if ((start % mod) == 0) { 
       System.out.println(); 
      } 

      start += step; 
     } 
    } 
}