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

   Á¶È¸ 1775   Ãßõ 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 358/5689
2014-05   5010770   Á¤ÀºÁØ1
2015-12   1546443   ¹é¸Þ°¡
2020-01   1772   Ȧ¸¯0o0
2023-05   1773   Sadd
2022-05   1773   ¼ö¾Æ¯
2023-12   1773   ´À¸°´ß
06-23   1773   Q8300
2023-03   1773   ¹«½î»Ôó·³
04-15   1773   ¹Ì´ã
2021-12   1773   AMDºô·±
2023-07   1773   ¸Ó¶óÄ«´Âµ¥
2022-08   1773   Àü¼³¼ÓÀǹ̡¦
2021-11   1773   ¿ì¹¶
2022-02   1773   ´ëµÎ°­¾ÆÁö
2023-08   1774   À©µµ¿ìÃʺ¸
2022-09   1774   lenux8
2020-07   1774   ÇູÇϼ¼
04-05   1774   ½á¸°ÀÌ
2022-07   1774   ±Ã±Ý¾²
2022-02   1774   ¯´Ô
06-16   1774   ½Ì±¹³¯°­µµ
2021-10   1774   ¿ì·ç¸®·ç