سلام امرور کد، خروجی و توضیحات برنامه الگوریتم جاروبرقی هوش مصنوعی در جاوا و براتون گذاشتم. نوشتن این برنامه خیلی ساده هست اگر مسئله جارو برقی و بدرستی درک بکنید و مفهوم دستورات شرطی و بدونید.

با تشکر از دوست خوبم حسین که در درک و فهم مسئله و نوشتن کد برنامه خیلی زحمت کشید.

مسئله: ما یک ربات جاروبرقی داریم که وارد اتاق A و B می شود و درصورتی که اتاق کثیف باشد آن را تمیز کرده و به اتاق دیگری می رود. اگر در صورت مسئله شما چهار تا اتاق بود خودتان به راحتی می توانید با تسلط بر کد اضافه بکنید.

کد برنامه الگوریتم جاروبرقی هوش مصنوعی در جاوا:

package com.company;
import java.util.Random;
public class Main {
    public static void main(String[] args) {
        /* ------------------------------------------------------------------
        * if A = 1 : dirty  else if A = 2 : clean
        * if B = 1 : dirty  else if B = 2 : clean
        * --------------------------------------------------------------------
        * if Current = 1 : location is A  else if Current = 2 : location is B
        * */
        int Current = 0, A = 0, B = 0;
        A = (int)( Math.random() * 2 + 1);  //generate random between 1 to 2 integer
        B = (int) ( Math.random() * 2 + 1);  //generate random between 1 to 2 integer
        Current = (int) (Math.random() * 2 + 1); //generate random between 1 to 2 integer

        System.out.println ( "if A = 1 : dirty  else if A = 2 : clean"  ); // print
        System.out.println ( "if B = 1 : dirty  else if B = 2 : clean"  ); // print
        System.out.println ( "-------------------------------------------"  ); // print
        System.out.println ( "if Current = 1 : location is A  else if Current = 2 : location is B"  ); // print
        System.out.println ( "-------------------------------------------"  ); // print
        System.out.println ( "A = " + A + " " + "B = "+ B + " " + "Current = " + Current );
        System.out.println ( "-------------------------------------------"  ); // print

        if (Current == 1) { //start if - 1
            System.out.println ( "our location in A" );
            if (A == 1) { // start if - 1.1
                System.out.println ( "location A is dirty" );
                A = 2;
                System.out.println ( "A has been cleaned" );
                System.out.println ( "moving location to B" );
                if (B == 1) { // start if - 1.1.1
                    System.out.println ( "location B is dirty" );
                    B = 2;
                    System.out.println ( "B has been cleaned" );
                }// end if - 1.1.1
                else System.out.println ( "B is clean" );
            }// end if - 1.1
            else if (A == 2) { // start if - 1.2
                System.out.println ( "A has been cleaned" );
                if (B == 2) { // start if - 1.2.1
                    System.out.println ( "B has been cleaned" );
                }// end if 1.2.1
                else if (B == 1) {  // start if - 1.2.2
                    System.out.println ( "location B is dirty" );
                    B = 2;
                    System.out.println ( "B has been cleaned" );
                } // end if - 1.2.2
            } // end if - 1.2
        } //end if - 1
        else if (Current == 2) { //start if - 2
            System.out.println ( "our location in B" );
            if (B == 1) { // start if - 2.1
                System.out.println ( "location B is dirty" );
                B = 2;
                System.out.println ( "B has been cleaned" );
                System.out.println ( "moving location to A" );
                if (A == 1) { // start if - 2.1.1
                    System.out.println ( "location A is dirty" );
                    A = 2;
                    System.out.println ( "A has been cleaned" );
                } // end if - 2.1.1
                else System.out.println ( "A is clean" );
            } // end if - 2.1
            else if (B == 2) { // start if - 2.2
                System.out.println ( "B has been cleaned" );
                if (A == 2) { // start if - 2.2.1
                    System.out.println ( "A has been cleaned" );
                }
                else if (A == 1) { // start if - 2.2.2
                    System.out.println ( "location A is dirty" );
                    A = 2;
                    System.out.println ( "A has been cleaned" );
                } //end if - 2.2.2
            } //end if - 2.2
        } //end if - 2
    } // end function main
} // end class main

خروجی برنامه الگوریتم جاروبرقی هوش مصنوعی در جاوا:

if A = 1 : dirty  else if A = 2 : clean
if B = 1 : dirty  else if B = 2 : clean
-------------------------------------------
if Current = 1 : location is A  else if Current = 2 : location is B
-------------------------------------------
A = 1 B = 1 Current = 2
-------------------------------------------
our location in B
location B is dirty
B has been cleaned
moving location to A
location A is dirty
A has been cleaned

توضیحات برنامه الگوریتم جاروبرقی هوش مصنوعی در جاوا: 

ما دوتا مکان A  و B  و دو حالت تمیز و کثیف داریم ابتدا دو تا عدد بین 1 و 2 بصورت رندوم تولید و در متغیر Current و A و B می گذاریم. و در دستور شرط بررسی میکنم اگر Current = 1 در اتاق A می باشد در غیر اینصورت در مسیر B می باشد. 

مثال Current = 1 است:

خب حالا در شرط بررسی می کنیم اگر A = 1 باشد اتاق کثیف می باشد پس A = 2 قرار می دهیم چاپ می کنیم A کثیف بود تمیز شد و بعد می رویم B و بررسی می کنیم اگر B = 1 باشد B = 2 قرار می دهیم و چاپ می کنیم B کثیف بود تمیز شد. در غیر اینصورت اگر A = 2 باشد چاپ می کنیم A تمیز است و اگر B = 2 باشد چاپ می کنیم B تمیز است در غیر اینصورت اگر B = 1 باشد B = 2 قرار می دهیم و چاپ می کنیم B کثیف بود تمیز شد.

نکته: اگر شما توضیحات و متوجه شده باشید دیگر لازم نیست برای Current = 2 که می شود اتاق B دیگر نیاز به نوشتن دو مرتبه کد باشد فقط لازم است کد مسیر A را کپی و پیست بکنید،  و A را تغییر داده به B و B را تغییر بدهید به A در صورت مشکل برنامه یا سوال در بخش نظرات در خدمتتان هستم.