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

   Á¶È¸ 1638   Ãßõ 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 324/5680
2014-05   4945755   Á¤ÀºÁØ1
2015-12   1482454   ¹é¸Þ°¡
2022-02   1635   ±èȲÁß
2023-07   1635   bongbongoung
2023-06   1635   narumir
2023-09   1635   ¸®Àå´Ô
2021-10   1635   ´«ºÎ½Å¾Æħ
2023-10   1636   ¿µ»êȸ»ó
2023-02   1636   ¿ä¸¦·¹ÀÌ
2022-03   1636   ¶ì¿ä¿À¿Ë
2023-04   1636   anh
2022-09   1636   ¹Ì¼ö¸Ç
2023-11   1636   yummy
2023-07   1636   ¿ÀÁØÈ£5
2023-02   1637   sam0712
05-30   1637   »õºñÁö
2023-03   1637   ÇϾç±î¸Á
2022-08   1637   ¼úÀÌ
2022-03   1637   JJ½Ã½ºÅÛ
2022-01   1637   DB´ººñ
2022-02   1637   VSPress
2023-06   1638   Á¶Á¾¿ì