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

   Á¶È¸ 1634   Ãßõ 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 4943/5680
2014-05   4945017   Á¤ÀºÁØ1
2015-12   1481718   ¹é¸Þ°¡
2019-03   3765   HEUo±è¿ë¹Î
2020-06   3515   ±èÁ¦¿¬
2006-06   4842   ÀåÀºÈ¯
2006-06   5566   ±èº´¿ì
2014-09   4941   ±èÈĵ¿
2023-06   1635   inquisitive
2010-01   7236   À±°æ½Ä
2018-02   6221   ĵÀ§µå
2003-11   9169   ¹Ú¸íÈÆ
2006-06   5108   °­°æ´ö
2014-09   4322   À©µµ¿ì10
2020-06   3923   ´«ºÎ½Å¾Æħ
2023-06   1347   À̼±È£
2013-03   4802   È«»óÈÆ
2016-01   9200   ÇÑ°¡ÇÑÀ̼öÁø
2020-06   2840   ºñºñBB
2006-06   5564   ±è°Ç¿ì
2016-01   4741   ¹ã¸À
2016-12   4625   ¿Õ¿ëÇÊ
2023-06   1324   ¹Ì´ã