ÀÚ¹Ù ±¸±¸´Ü ÇÁ·Î±×·¡¹Ö Áú¹®Çϳª ÀÖ½À´Ï´Ù.

   Á¶È¸ 1791   Ãßõ 0    

쪽팔리면 질문하지 맙시다. 소중한 답변 댓글을 삭제하는건 부끄러운 일 입니다 

자바를 독학으로 공부하고 있습니다.

프로그래밍을 시작하기 전에 우선 순서도를 그려보고 조건문을 어떻게 배치해야 할지 고민하고 있습니다.


1. 전형적인 nested for문으로 짜본 코드 입니다.


        for(int i = 2; i<=9; i++) {

            for(int k = 1; k<=9; k++) {

                int result = i * k;

                System.out.println(result);

            }

        }

2. 이것은 제가 한번 짜본 코드 입니다.

        int j = 1;

        int sum = 0;

        for(int i = 2; i<=9; i++) {

            while(j<=9) {

                sum = i * j;

                System.out.println(i + " x "+j+ " = "+sum);

                j = j+2;

                if(j == 11) {

                    j = 1;

                    break;

                }

            }

      }

질문1) if( j == 11) { j =1; break} 이 조건이 있으니 프로그래밍이 제대로 돌아갑니다.  디버깅을 해보니 j값이 계속 11을 유지하고 있어서 구구단의 3단으로 넘어가질 않더군요. for문은 k가 9에서 10으로 넘어가면서 루프 벗어나면서 i값이 3으로 증가하면서 k값이 초기화 되는거 같더군요.

이런부분이 for문과 while문의 차이인가요?


질문2) for문과 while문의 순서도는 같은가요? 아니면 다른가요?


이것저것 차근차근 해보고 있습니다. 어떠한 의견도 감사합니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
extra 2023-06
j = j+2;
=> j = j + 1;
·Î º¯°æÇÏ¼Å¾ß ÇÕ´Ï´Ù.
À§¿Í ¾Æ·¡´Â Áõ°¨ ºÎºÐÀÌ ´Þ¶ó ¼­·Î µ¿ÀÛÀÌ ¹Ì¹¦ÇÏ°Ô ´Þ¶óÁý´Ï´Ù.

¾Æ·¡ ¼Ò½º´Â Á¦´ë·Î ¼öÇàµË´Ï´Ù.
https://ideone.com/a6ql60
¾Æ¸¶ °á°ú°¡ ÀÌ»óÇÑ °ÍÀº À߸ø ¼öÇàµÇ¾î¼­ ±×·± µí ½Í½À´Ï´Ù.

Áú¹® 1¿¡ ´ëÇÑ ´äÀº ¹Ýº¹¹®ÀÇ Â÷À̶ó±â º¸´Ü ÇÁ·Î±×·¥ Äڵ带 Àß ¸ø ¼öÁ¤Çϼż­ ±×·± µí ½Í½À´Ï´Ù.
ÀÌ ºÎºÐÀº ¿ø·¡ÀÇ Äڵ带 ¸ð¸£´Â »óȲ¿¡¼± °íÄ¥ ¼ö ¾ø½À´Ï´Ù.
±×¸®°í ´äº¯À» µå¸®ÀÚ¸é ¼ø¼­µµ¿¡¼­´Â ±»ÀÌ for ¹®ÀÎÁö while ¹®ÀÎÁö ±¸ºÐÇÏÁö ¾Ê½À´Ï´Ù.
¼ø¼­µµ ±×¸®´Â °Íµµ ¾à°£ÀÇ Â÷ÀÌ°¡ À־ ±¸ºÐÀ» ÁöÀ» ¼ö ÀÖ±ä ÇÏÁö¸¸ ÀϹÝÀûÀ¸·Î ¹Ýº¹µÇ´Â °É °í·ÁÇϸé Â÷ÀÌ°¡ ¾ø½À´Ï´Ù. ´Ü¼øÈ÷ Á¶°Ç¹®¿¡ µû¶ó ´õ ¹Ýº¹ÇÒÁö ¾ÈÇÒÁö¸¸ ±¸ºÐµË´Ï´Ù.
     
inquisitive 2023-06
°¨»çÇÕ´Ï´Ù.
±¸Â÷´Ï 2023-06
for´Â ÀϹÝÀûÀ¸·Î Ƚ¼ö¸¦ È®½ÇÈ÷ ¾Ë ¶§ »ç¿ëÇÕ´Ï´Ù.
whileÀº ±â¾à¾øÀÌ µ¹¸®´Ù°¡ Á¶°Ç¿¡ ÀÇÇؼ­ Á¾·áÇÒ¶§ »ç¿ëÇÕ´Ï´Ù.

¹°·Ð ¹®¹ýÀûÀ¸·Î µÎ°³ Å°¿öµå°¡ µ¿µîÇÏ°Ô »óÈ£ º¯È¯ÀÌ °¡´ÉÇϱ⠶§¹®¿¡
Â¥´Ù º¸¸é ¾î¶²°É ¾²´ø »ó°üÀº ¾ø½À´Ï´Ù¸¸, À¯Áöº¸¼ö ½±µµ·Ï °¡µ¶¼ºÀ» °í·ÁÇÏ´Â°Ô ÁÁ½À´Ï´Ù.
     
inquisitive 2023-06
°¨»çÇÕ´Ï´Ù.
¹«¾Æ 2023-06
À§¿¡ ºÐµéÀÌ Àß ¼³¸íÀ» ÇØÁּ̰í
Á¶°Ç¿¡ ÀÇÇØ ·çÇÁ¸¦ Å»ÃâÇÏ°Ô ¸¸µé ¶§´Â
if(j == 11)
ÀÌ·± ¹æ¹ý º¸´Ù´Â
if(j >= 11)
ÀÌ·± ¹æ¹ýÀÌ ÁÁ½À´Ï´Ù.
¿ÖÀÎÁö´Â ¾Ë°ÚÁÒ?

±×¸®°í º¯¼ö¸íµµ Àß Á¤ÇØÁà¾ß µð¹ö±ëÀÌ ÆíÇÕ´Ï´Ù.
sum º¸´Ù´Â mul °°Àº À̸§ÀÌ ÁÁ°ÚÁÒ.
     
inquisitive 2023-06
º¯¼ö¸í ¸íÈ®ÇÏ°Ô »ç¿ëÇØ¾ß °Ú³×¿ä.
°¨»çÇÕ´Ï´Ù.
while(j<=9)

ÀÌ°Å ÀÚü°¡ µ¿ÀÛ Á¶°ÇÀÌ°í ±× ¸»À» ´Þ¸® Çؼ®Çϸé Å»Ãâ Á¶°Çµµ µË´Ï´Ù.
±»ÀÌ ¹Ø¿¡ Å»Ãâ Á¶°ÇÀ» ¾È³Ö¾îµµ µÈ´Ù´Â°ÅÁÒ.

Áï, if(j == 11) { j = 1; break; } ÀÌ ±¸¹®ÀÌ ¾ø¾îµµ µË´Ï´Ù.
     
¹«¾Æ 2023-06
Àú Äڵ尡... Á»..
j¸¦ ÃʱâÈ­ ÇÏ´Â µ¥°¡ ¾ø¾î¼­ »© ¹ö¸®¸é ´ÙÀ½ÆÇ ºÎÅÍ´Â ²Î µÇ¾î¹ö¸³´Ï´Ù.
          
³× i ¿µ¿ª ¾È¿¡ j ÃʱâÈ­°¡ ÀÖ¾î¾ß Çϴµ¥ ±×°Ô ¾ø±º¿ä.
               
inquisitive 2023-06
ÈùÆ® Áּż­ °¨»çÇÕ´Ï´Ù.
´Ù½Ã Çѹø Çغ¸°Ú½À´Ï´Ù.
¹«¾Æ 2023-06
if(j == 11)
¸¦
if(j > 9) ¶Ç´Â if(j > 10)
·Î ¹Ù²Ù¼¼¿ä.
     
inquisitive 2023-06
°¨»çÇÕ´Ï´Ù.
Á¶±Ý °íÃĵ帮¸é.. j ÃʱâÈ­ ±¸¹®À» ²À while ¹® ¾È¿¡ ³ÖÁö ¾ÊÀ¸¼Åµµ µË´Ï´Ù. Á¶°Ç ºÙÀÌ¸é ±æ¾îÁö°í¿ä.
j=j+2 ¸¦ j+1 ·Î ¼öÁ¤Çϸé, ±âÁ¸ ÇÁ·Î±×·¥Àº 2´Ü¸¸ ³ª¿À´øµ¥, ±× °æ¿ì À­ºÐµé ¸»¾¸Ã³·³ j==11 Á¶°ÇÀ» j >= 10 Á¶°ÇÀ¸·Î ¹Ù²ãµµ ³ª¿À±ä ÇÏÁö¸¸,
°£´ÜÇÑ°Ô ÁÁ°ÚÁö¿ä.

int j = 1;

int sum = 0;

for(int i = 2; i<=9; i++) {
j=1;
while(j<=9) {

sum = i * j;

System.out.println(i + " x "+j+ " = "+sum);

j = j+1;

}

}
     
inquisitive 2023-06
±ò²ûÇϳ׿ä.
ÀÌÀü¿¡ ÀÌÁßfor¹® ÀÌ·± ¹®Á¦ °Þ¾ú´Âµ¥
ÀÌ·¸°Ô ÇØ°áÇÏ¸é µÇ°Ú³×¿ä.
°¨»çÇÕ´Ï´Ù.
¼º±â»ç 2023-06
>= º¸´Ù´Â > ¸¦ ¾²¼¼¿ä.
     
inquisitive 2023-06
ÂüÁ¶ÇÏ°Ú½À´Ï´Ù.
°¨»çÇÕ´Ï´Ù.


QnA
Á¦¸ñPage 4951/5691
2014-05   5016659   Á¤ÀºÁØ1
2015-12   1552121   ¹é¸Þ°¡
2009-09   6537   ¿À¼º±â
2016-11   3923   Ai20
2020-04   3980   ºí·ç¿µ»ó
2021-09   3139   galaxyfamily
2009-09   5922   psj1050
2015-11   3447   À¯Á¤È£»þÄÜ´À
2016-11   27488   ¹Ú¼º¸¸
2017-12   5423   ±è´ÞÈ£
2023-04   2779   ¹«½î»Ôó·³
2012-12   4508   ¹Ú¹®Çü
2023-04   1914   ´åÄï
2015-12   4134   ±è°Ç¿ì
2019-03   3298   ÇãÀα¸¸¶Æ¾
2012-12   5483   ¹Ú
2016-11   4215   ±è°Ç¿ì
2020-05   4137   Ȧ¸¯0o0
2006-04   6818   ¹Ú±âµÎ
2014-08   52817   Àϸ®ÄÉ
2012-12   6428   ȲȥÀ»ÇâÇØ
2015-12   3914   ³ÊÀdz²ÀÚ