แบบฝึกหัด - สร้างและทดสอบรอบสําหรับการป้อนข้อมูลสัตว์เลี้ยงใหม่

เสร็จสมบูรณ์เมื่อ

ในแบบฝึกหัดนี้ คุณพัฒนารหัสที่ควบคุมการป้อนข้อมูลของข้อมูลอาร์เรย์ใหม่ourAnimals คุณคํานวณค่าเริ่มต้นของตัวแปรควบคุมรอบของคุณและสร้างลูปที่รวบรวมข้อมูลเฉพาะของผู้ใช้สําหรับสัตว์ งานโดยละเอียดที่คุณทําเสร็จสิ้นในระหว่างแบบฝึกหัดนี้ได้แก่:

  1. คํานวณ petCount: เขียนโค้ดที่นับจํานวนสัตว์เลี้ยงใน ourAnimals อาร์เรย์ ที่มีข้อมูลที่กําหนด
  2. ข้อความตามเงื่อนไข: เขียนโค้ดเพื่อแสดงผลลัพธ์ข้อความเมื่อpetCountน้อยกว่าmaxPets
  3. รอบนอก: สร้างโครงสร้างลูปที่จะใช้สําหรับการป้อนข้อมูลอาร์เรย์ใหม่ourAnimals
  4. เกณฑ์การออก: เขียนโค้ดที่ประเมินเงื่อนไขการออกสําหรับรอบ "ใส่อาร์เรย์ข้อมูลของ Animals ใหม่ของเรา"
  5. การทดสอบการตรวจสอบ: ทําการทดสอบการตรวจสอบสําหรับโค้ดที่คุณพัฒนาในแบบฝึกหัดนี้

สําคัญ

คุณต้องทําแบบฝึกหัดก่อนหน้านี้ในโมดูลนี้ให้เสร็จสมบูรณ์ก่อนที่จะเริ่มแบบฝึกหัดนี้

นับจํานวนของสัตว์เลี้ยงในอาร์เรย์ OurAnimals

ในงานนี้ คุณสร้างเกณฑ์การออกจากระบบสําหรับการวนรอบรายการข้อมูลของคุณ และคุณสามารถสร้าง for การวนรอบที่สามารถใช้เพื่อนับจํานวนสัตว์เลี้ยงใน ourAnimals ที่มีข้อมูลที่กําหนด

  1. ตรวจสอบให้แน่ใจว่า Visual Studio Code เปิดอยู่ และไฟล์ Program.cs ของคุณสามารถมองเห็นได้ใน ตัวแก้ไข

  2. ค้นหาคําสั่ง switch(menuSelection) แล้วค้นหาบรรทัด case "2": รหัส

  3. ค้นหาคําสั่ง Console.WriteLine() ที่แสดงข้อความ "เร็วๆ นี้" แล้วแทนที่ด้วยบรรทัดรหัสว่าง

  4. บนบรรทัดรหัสที่ว่างเปล่าที่คุณสร้างขึ้นเพื่อตรวจนับ anotherPet ตัวแปร และ petCount ให้ป้อนรหัสต่อไปนี้:

    string anotherPet = "y";
    int petCount = 0;
    

    ตัวแปรทั้งสองนี้ควบคุมการเกิดซ้ําของ while ลูปที่ใช้ในการป้อนข้อมูลสัตว์เลี้ยงใหม่ คุณเริ่มต้นตัวแปรทั้งสองเป็นส่วนหนึ่งของการประกาศ

    • anotherPet ถูกเตรียมใช้งานด้วยค่า y ก่อนจุดเริ่มต้นของการ while วนรอบ ซึ่งจะได้รับค่าที่ผู้ใช้กําหนดหรือynภายในการwhileวนรอบ

    • petCount แสดงจํานวนของสัตว์ที่มีลักษณะสัตว์เลี้ยงที่กําหนด ซึ่งจะได้รับการกําหนดค่าจากการคํานวณนอกลูปของคุณและ while จะเพิ่มขึ้นภายใน 1 ลู while ปทุกครั้งที่มีการเพิ่มสัตว์ตัวใหม่ลงใน ourAnimals อาร์เรย์

    สําคัญ

    ขอบเขตของตัวแปรของคุณควรแคบที่สุดเท่าที่เป็นไปได้ ในแอปพลิเคชัน Contoso Pets คุณสามารถกําหนดขอบเขต petCount ที่ระดับแอปพลิเคชันแทนที่จะกําหนดขอบเขตไปยัง case "2": บล็อกโค้ด ขอบเขตที่ใหญ่กว่าจะช่วยให้คุณสามารถเข้าถึง petCount ได้จากทุกที่ในแอปพลิเคชัน หากมี petCount การกําหนดขอบเขตในระดับแอปพลิเคชัน คุณสามารถกําหนดค่าได้เมื่อคุณสร้างข้อมูลตัวอย่างและจัดการค่าโดยใช้โปรแกรมตลอดส่วนที่เหลือของแอปพลิเคชัน ตัวอย่างเช่นเมื่อคุณพบบ้านสําหรับสัตว์เลี้ยงและนําสัตว์เลี้ยงออกจากourAnimalsอาร์เรย์คุณสามารถลดpetCount1ได้ คําถามคือ คุณควรกําหนดขอบเขตตัวแปรเมื่อคุณไม่แน่ใจว่าจะใช้ในส่วนอื่น ๆ ของแอปพลิเคชันของคุณหรือไม่ ในกรณีนี้ เป็นการล่อลวงให้กําหนดขอบเขต petCount ในระดับแอปพลิเคชัน แม้ว่าคุณจะไม่ได้ใช้ที่อื่นก็ตาม ท้ายสุด การกําหนด petCount ขอบเขตที่ระดับแอปพลิเคชันช่วยให้แน่ใจว่าจะพร้อมใช้งานถ้าคุณตัดสินใจที่จะใช้ที่อื่น บางทีคุณอาจกําหนดขอบเขตตัวแปรอื่น ๆ ในระดับแอปพลิเคชันได้เช่นกัน ด้วยวิธี ตัวแปรของคุณจะอยู่ในขอบเขตและสามารถเข้าถึงได้เสมอ ดังนั้นทําไมตัวแปรขอบเขตจึงไม่อยู่ในระดับแอปพลิเคชันเมื่อคุณคิดว่าอาจมีการใช้ตัวแปรเหล่านี้ในภายหลังในแอปพลิเคชัน การกําหนดขอบเขตตัวแปรในระดับที่สูงกว่าที่จําเป็นอาจทําให้เกิดปัญหาได้ ขอบเขตที่ยกระดับขึ้นจะช่วยเพิ่มความต้องการทรัพยากรของแอปพลิเคชันของคุณและอาจเปิดเผยแอปพลิเคชันของคุณกับความเสี่ยงด้านความปลอดภัยที่ไม่จําเป็น เมื่อแอปพลิเคชันของคุณมีขนาดใหญ่ขึ้นและซับซ้อนมากขึ้น แอปพลิเคชันดังกล่าวต้องการทรัพยากรเพิ่มเติม โทรศัพท์และคอมพิวเตอร์จัดสรรหน่วยความจําสําหรับทรัพยากรเหล่านี้เมื่ออยู่ในขอบเขต เมื่อแอปพลิเคชันของคุณกลายเป็น "โลกแห่งความจริง" มากขึ้น แอปพลิเคชันเหล่านี้จะสามารถเข้าถึงได้มากขึ้น แอปพลิเคชันมักจะสามารถเข้าถึงได้จากระบบคลาวด์หรือแอปพลิเคชันอื่น ๆ การทบต้นปัญหาเหล่านี้ แอปพลิเคชันมักจะทํางานอยู่เมื่อไม่ได้ใช้งาน สิ่งสําคัญคือต้องรักษาความต้องการทรัพยากรของแอปพลิเคชันให้อยู่ภายใต้การควบคุมและฟุตพริ้นท์ความปลอดภัยให้น้อยที่สุด แม้ว่าระบบปฏิบัติการในปัจจุบันนี้สามารถจัดการทรัพยากรและการรักษาความปลอดภัยแอปพลิเคชันได้แต่ก็เป็นวิธีที่ดีที่สุดที่จะทําให้ตัวแปรของคุณมีขอบเขตในระดับที่จําเป็นจริง ในแอป Contoso Pets ของคุณ ถ้าคุณตัดสินใจที่จะใช้ petCount อย่างกว้างขวางมากขึ้นภายในแอปพลิเคชัน คุณสามารถอัปเดตโค้ดของคุณไปยังขอบเขต petCountที่สูงกว่าได้ อย่าลืมเก็บตัวแปรของคุณให้แคบที่สุดเท่าที่เป็นไปได้ และเพิ่มขอบเขตเมื่อจําเป็นเท่านั้น

  5. บนบรรทัดรหัสด้านล่างการรายงานตัวแปรของคุณ หากต้องการสร้างการวนรอบที่วนซ้ําผ่านสัตว์ใน ourAnimals อาร์เรย์ ให้ป้อนรหัสต่อไปนี้:

    for (int i = 0; i < maxPets; i++)
    {
    }
    

    รหัสนี้ควรมีลักษณะที่คุ้นเคย คุณจะใช้การวนรอบนี้ for ในแต่ละครั้งที่คุณทําซ้ําผ่าน ourAnimals อาร์เรย์

  6. ภายในบล็อกรหัสของรอบของเรา for เพื่อตรวจสอบว่ามีการกําหนดลักษณะของข้อมูลสัตว์เลี้ยงให้กับสัตว์หรือไม่ให้ป้อนรหัสต่อไปนี้:

    if (ourAnimals[i, 0] != "ID #: ")
    {
    }
    

    อีกครั้ง รหัสนี้ควรมีลักษณะที่คุ้นเคย คุณจะใช้คําสั่งนี้ if ในแต่ละครั้งที่คุณตรวจสอบว่าได้กําหนดลักษณะของสัตว์เลี้ยงแล้วหรือไม่

  7. ภายในบล็อกรหัสของ if ที่คุณสร้างขึ้นเพื่อเพิ่มทีละ petCount 1 ให้ป้อนรหัสต่อไปนี้:

    petCount += 1;
    
  8. ใช้เวลาสักครู่ในการตรวจสอบรอบที่ for เสร็จสมบูรณ์ของคุณ

    รอบ ที่ for เสร็จสมบูรณ์ของคุณควรมีลักษณะเหมือนกับโค้ดต่อไปนี้:

    for (int i = 0; i < maxPets; i++)
    {
        if (ourAnimals[i, 0] != "ID #: ")
        {
            petCount += 1;
        }
    }
    

    รหัสนี้จะวนรอบผ่าน ourAnimals การตรวจสอบอาร์เรย์สําหรับข้อมูลที่กําหนด เมื่อพบสัตว์ที่มีข้อมูลที่กําหนดจะมีการเพิ่ม petCounterหน่วย

  9. บนเมนู ไฟล์ของ Visual Studio Code เลือก บันทึก

  10. เปิดแผงเทอร์มินัลรวมใน Visual Studio Code และป้อนคําสั่งเพื่อสร้างโปรแกรมของคุณ

    หากต้องการเปิดเทอร์มินัลการรวมจากมุมมอง EXPLORER ให้คลิกขวาที่ Starter จากนั้นเลือก เปิดในเทอร์มินัลแบบรวม คุณยังสามารถใช้เมนู มุมมอง หรือ เทอร์มินัล เพื่อเปิดแผงเทอร์มินัลแบบรวมได้

    เมื่อต้องการสร้างโปรแกรมของคุณ ให้ dotnet build ป้อนคําสั่งจากพร้อมท์คําสั่งเทอร์มินัล

  11. แก้ไขข้อผิดพลาดในการสร้างใดๆ ที่คุณเห็นรายงานก่อนดําเนินการต่อ

    หมายเหตุ

    ในตอนนี้ คุณสามารถละเว้นข้อความเตือนเกี่ยวกับ anotherPet การรับมอบหมาย แต่ไม่เคยใช้ คุณจะเพิ่มโค้ดที่ใช้ anotherPet ในภายหลังในแบบฝึกหัดนี้

    หากคุณมีข้อผิดพลาดในการสร้าง โปรดจําไว้ว่าข้อความข้อผิดพลาดและคําเตือนของบิลด์จะบอกให้คุณทราบว่าปัญหาคืออะไรและคุณสามารถค้นหาได้จากที่ใด หากคุณอัปเดตรหัส โปรดบันทึกการเปลี่ยนแปลงก่อนที่จะสร้างใหม่

  12. ปิดแผงเทอร์มินัล

แสดงผลลัพธ์ข้อความเมื่อ petCount น้อยกว่า maxPets

ในงานนี้ คุณตรวจสอบว่าน้อยกว่าpetCountหรือไม่maxPetsและถ้าเป็นคุณจะแสดงข้อความสําหรับผู้ใช้

  1. บนบรรทัดรหัสที่ว่างเปล่าด้านล่างการ for วนรอบที่คุณสร้างขึ้น เพื่อดูว่า petCount น้อยกว่า maxPetsหรือไม่ ให้ใส่โค้ดต่อไปนี้:

    if (petCount < maxPets)
    {
    }
    
  2. ภายในบล็อกรหัสของ if คําสั่ง เพื่อแสดงข้อความถึงผู้ใช้ ให้ป้อนรหัสต่อไปนี้:

    Console.WriteLine($"We currently have {petCount} pets that need homes. We can manage {(maxPets - petCount)} more.");
    

    ผู้ใช้แอปพลิเคชันกําลังจะป้อนลักษณะของสัตว์เลี้ยง ข้อความนี้มีบริบทที่สําคัญ

  3. ใช้เวลาสักครู่ในการตรวจสอบสาขารหัสของcase "2":ใบแจ้งยอดของคุณswitch

    ในตอนนี้ สาขาโค้ดของ case "2": คุณควรมีลักษณะเหมือนโค้ดต่อไปนี้:

    case "2":
        // Add a new animal friend to the ourAnimals array
        string anotherPet = "y";
        int petCount = 0;
        for (int i = 0; i < maxPets; i++)
        {
            if (ourAnimals[i, 0] != "ID #: ")
            {
                    petCount += 1;
            }
    
        }
    
        if (petCount < maxPets)
        {
            Console.WriteLine($"We currently have {petCount} pets that need homes. We can manage {(maxPets - petCount)} more.");
        }
    
        Console.WriteLine("Press the Enter key to continue.");
        readResult = Console.ReadLine();
        break;
    
  4. บนเมนู ไฟล์ของ Visual Studio Code เลือก บันทึก

  5. เปิดแผงเทอร์มินัลรวมใน Visual Studio Code และป้อนคําสั่งเพื่อสร้างโปรแกรมของคุณ

  6. แก้ไขข้อผิดพลาดในการสร้างใดๆ ที่คุณเห็นรายงานก่อนดําเนินการต่อ

    อีกครั้ง คุณสามารถเพิกเฉยต่อข้อความเตือนเกี่ยวกับ anotherPet การรับมอบหมาย แต่ไม่เคยใช้ได้ ในงานถัดไป คุณจะเริ่มสร้าง while รอบ ที่ใช้ในการใส่ข้อมูลสําหรับสัตว์เลี้ยงอย่างน้อยหนึ่งตัว นิพจน์ที่คุณสร้างสําหรับการ while วนรอบจะใช้ anotherPet และข้อความเตือนนี้จะหายไป

    โปรดจําไว้ว่า ข้อความเตือนคือสิ่งที่คุณควรกังวล แต่ข้อความเหล่านั้นไม่ได้ป้องกันไม่ให้คุณเรียกใช้โปรแกรมของคุณ

  7. ที่พร้อมท์คําสั่งเทอร์มินัล ให้ใส่คําสั่งเพื่อเรียกใช้โปรแกรมของคุณ

    ป้อน dotnet run คําสั่งที่พรอมต์คําสั่งเทอร์มินัลเพื่อเรียกใช้รหัสโปรแกรมของคุณ

    ตราบใดที่รหัสของคุณไม่ได้สร้างข้อผิดพลาดรันไทม์ เมนูหลักของแอปควรจะแสดงในแผงเทอร์มินัล

  8. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน 2

    ค่านี้สอดคล้องกับสาขารหัสของคุณcase "2":

  9. ตรวจสอบว่าข้อความต่อไปนี้แสดงอยู่ใน Terminal

    We currently have 4 pets that need homes. We can manage 4 more.
    Press the Enter key to continue.
    

    หากคุณไม่เห็นข้อความที่คาดไว้ปรากฏขึ้น ให้ตรวจสอบรหัสของคุณเพื่อระบุและแก้ไขปัญหา บันทึกการเปลี่ยนแปลงของคุณ สร้างใหม่ และเรียกใช้แอปอีกครั้ง ตรวจสอบให้แน่ใจว่าได้รับรหัสที่ทํางานได้ตามที่คาดไว้ก่อนที่คุณจะดําเนินการต่อ

  10. ที่พรอมต์คําสั่งเทอร์มินัล กด Enter เพื่อเรียกใช้แอปพลิเคชันของคุณต่อไป

  11. ออกจากแอปพลิเคชัน แล้วปิดแผงเทอร์มินัล

สร้างโครงสร้างลูปที่จะใช้สําหรับการป้อนข้อมูลอาร์เรย์ Animals ใหม่ของเรา

ในงานนี้ คุณสร้างการwhileวนรอบที่ดําเนินการต่อเพื่อทําซ้ําตราanotherPetบใดที่yเท่ากับ และpetCountน้อยกว่าmaxPets

  1. ในตัวแก้ไขโค้ด ให้สร้างบรรทัดโค้ดว่างด้านล่างบล็อกโค้ดของคุณif (petCount < maxPets)

  2. หากต้องการเริ่มกระบวนการสร้างรอบใหม่ while ของคุณ ให้ป้อนรหัสต่อไปนี้:

    while (anotherPet == "y" && petCount < maxPets)
    {
    }
    
  3. บนเมนู ไฟล์ของ Visual Studio Code เลือก บันทึก

  4. เปิดแผงเทอร์มินัลรวมใน Visual Studio Code และป้อนคําสั่งเพื่อสร้างโปรแกรมของคุณ

  5. โปรดสังเกตว่าคุณไม่ได้รับข้อความเตือนเกี่ยวกับ anotherPet ไม่ได้ใช้งานอีกต่อไป

    ถ้ามีการรายงานข้อผิดพลาดหรือคําเตือนของบิลด์ ให้แก้ไขปัญหาก่อนดําเนินการต่อ

ตรวจสอบสภาพการออกสําหรับรอบสัตว์เลี้ยงใหม่

ในงานนี้ คุณอัปเดตบล็อก while (anotherPet == "y" && petCount < maxPets) รหัส การเพิ่มโค้ด petCount ใหม่ และจากนั้นตรวจสอบว่า petCount น้อยกว่า maxPetsหรือไม่ ถ้า petCount น้อยกว่า maxPetsคุณถามผู้ใช้ว่าพวกเขาต้องการใส่ข้อมูลสําหรับสัตว์เลี้ยงตัวอื่นหรือไม่ และตรวจสอบให้แน่ใจว่าคําตอบเป็น y หรือn หลังจากบล็อคwhile (anotherPet == "y" && petCount < maxPets)รหัส คุณต้องตรวจสอบค่าของpetCount หาก petCount เท่ากับ maxPetsคุณจะแจ้งให้ผู้ใช้ทราบว่าไม่สามารถเพิ่มสัตว์เลี้ยงได้อีก

หมายเหตุ

รหัสที่ใช้ในการป้อนข้อมูลสัตว์เลี้ยงได้รับการพัฒนาในแบบฝึกหัดถัดไป ใน petCount ตอนนี้ จะมีการเพิ่มหน่วยเหมือนกับว่ามีการป้อนข้อมูลและบันทึกไปยัง ourAnimals อาร์เรย์ ซึ่งช่วยให้คุณสามารถพัฒนาตรรกะโค้ดที่เชื่อมโยงกับการ while วนรอบให้เสร็จสิ้นได้

  1. สร้างบรรทัดรหัสที่ว่างเปล่าภายในบล็อกรหัสของ while (anotherPet == "y" && petCount < maxPets) ลูปที่คุณสร้างขึ้นในงานก่อนหน้านี้

  2. เมื่อต้องการเพิ่ม petCountให้ใส่โค้ดต่อไปนี้:

    // increment petCount (the array is zero-based, so we increment the counter after adding to the array)
    petCount = petCount + 1;
    
  3. หากต้องการตรวจสอบว่า petCount น้อยกว่า maxPetsหรือไม่ ให้ป้อนโค้ดต่อไปนี้:

    // check maxPet limit
    if (petCount < maxPets)
    {
    }
    
  4. ภายในบล็อกรหัสของ if คําสั่งที่คุณสร้างขึ้น เพื่อถามผู้ใช้ว่าพวกเขาต้องการเพิ่มสัตว์เลี้ยงอีกตัวหรือไม่ ให้ป้อนรหัสต่อไปนี้:

    // another pet?
    Console.WriteLine("Do you want to enter info for another pet (y/n)");
    
  5. ด้านล่าง WriteLine() ข้อความที่คุณป้อน เพื่ออ่านการตอบกลับของผู้ใช้ และตรวจสอบว่าผู้ใช้ป้อน "y" หรือ "n" ให้ป้อนรหัสต่อไปนี้:

    do
    {
        readResult = Console.ReadLine();
        if (readResult != null)
        {
            anotherPet = readResult.ToLower();
        }
    
    } while (anotherPet != "y" && anotherPet != "n");
    
  6. ค้นหาคําสั่งbreakที่แยกออกจากcase "2";case "3";ในคําสั่งของคุณswitch

  7. Console.WriteLine()โปรดสังเกตคําสั่ง และ Console.ReadLine() ที่ส่วนท้ายของโค้ดของเราcase "2";

    รหัสนี้แสดงข้อความให้ผู้ใช้แล้วหยุดแอปพลิเคชันชั่วคราว

  8. หากต้องการล้อมรอบ Console.WriteLine() คําสั่ง และ Console.ReadLine() ภายใน if คําสั่ง ให้อัปเดตโค้ดของคุณดังนี้:

    
    if (petCount >= maxPets)
    {
        Console.WriteLine("Press the Enter key to continue.");
        readResult = Console.ReadLine();
    }
    
    break;
    
    case "3":
    

    ค่าของ petCount จะเพิ่มภายในรอบwhile หาก petCount เท่ากับ maxPetsจะไม่สามารถเพิ่มสัตว์เลี้ยงไปยัง ourAnimals อาร์เรย์ได้อีก คุณควรแจ้งให้ผู้ใช้ทราบเมื่อเหตุการณ์นี้เกิดขึ้น

  9. หากต้องการแจ้งให้ผู้ใช้ทราบว่า Contoso Pets ถึงความจุของพวกเขาแล้ว ให้อัปเดตโค้ดของคุณดังต่อไปนี้:

    
        if (petCount >= maxPets)
        {
            Console.WriteLine("We have reached our limit on the number of pets that we can manage.");
            Console.WriteLine("Press the Enter key to continue.");
            readResult = Console.ReadLine();
        }
    
        break;
    
    case "3":
    
  10. ใช้เวลาสักครู่เพื่อตรวจสอบโค้ดในการวนรอบของคุณและ while ข้อความผู้ใช้ที่คุณสร้างขึ้น

    การ while (anotherPet == "y" && petCount < maxPets) วนรอบและโค้ดที่แสดงข้อความของผู้ใช้ควรมีลักษณะเหมือนกับโค้ดต่อไปนี้:

    while (anotherPet == "y" && petCount < maxPets)
    {
        // increment petCount (the array is zero-based, so we increment the counter after adding to the array)
        petCount = petCount + 1;
    
        // check maxPet limit
        if (petCount < maxPets)
        {
            // another pet?
            Console.WriteLine("Do you want to enter info for another pet (y/n)");
            do
            {
                readResult = Console.ReadLine();
                if (readResult != null)
                {
                    anotherPet = readResult.ToLower();
                }
    
            } while (anotherPet != "y" && anotherPet != "n");
        }
    }
    
    if (petCount >= maxPets)
    {
        Console.WriteLine("We have reached our limit on the number of pets that we can manage.");
        Console.WriteLine("Press the Enter key to continue.");
        readResult = Console.ReadLine();
    }
    
  11. บนเมนู ไฟล์ของ Visual Studio Code เลือก บันทึก

  12. เปิดแผงเทอร์มินัลรวมใน Visual Studio Code และป้อนคําสั่งเพื่อสร้างโปรแกรมของคุณ

  13. แก้ไขข้อผิดพลาดหรือคําเตือนของรุ่นที่คุณเห็นรายงานก่อนดําเนินการต่อ

ตรวจสอบงานของคุณ

ในงานนี้ คุณเรียกใช้แอปพลิเคชันของเราจากเทอร์มินัลรวม และตรวจสอบว่าตรรกะการวนรอบและโยงหัวข้อที่คุณสร้างขึ้นทํางานตามที่คาดไว้

  1. หากจําเป็น ให้เปิดแผงเทอร์มินัลแบบรวมของ Visual Studio Code

  2. ที่พร้อมท์คําสั่งเทอร์มินัล ให้ใส่ dotnet ทํางาน

  3. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน 2

  4. ตรวจสอบว่าคุณเห็นข้อความต่อไปนี้:

    We currently have 4 pets that need homes. We can manage 4 more.
    Do you want to enter info for another pet (y/n)
    
  5. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน n

  6. ตรวจสอบว่าโค้ดของคุณออกจากรอบสําหรับการป้อนสัตว์เลี้ยงใหม่เมื่อคุณป้อน "n"

    ถ้าตรรกะโค้ดของคุณทํางานตามที่คาดไว้ คุณควรเห็นเมนูหลักที่แสดงในเทอร์มินัล

    หากรหัสของคุณไม่ออกจากการวนรอบตามที่คาดไว้ ให้กด Ctrl + C ในเทอร์มินัลเพื่อบังคับให้การดําเนินการหยุด คุณจําเป็นต้องดําเนินการตามรหัสของคุณด้วยตนเองและติดตามค่าของตัวแปรเกณฑ์การออกจากระบบ อัปเดตโค้ดของคุณหากจําเป็นเพื่อให้แน่ใจว่าคุณออกจากการ while วนรอบเมื่อผู้ใช้ป้อน "n" บันทึกการเปลี่ยนแปลงของคุณ สร้างโปรแกรมของคุณใหม่ และเรียกใช้การทดสอบการตรวจสอบเพื่อกลับมาที่จุดนี้

  7. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน 2

    อีกครั้ง คุณจะเห็นข้อความต่อไปนี้แสดง:

    We currently have 4 pets that need homes. We can manage 4 more.
    Do you want to enter info for another pet (y/n)
    
  8. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน y

  9. ใช้เวลาสักครู่เพื่อพิจารณาวิธีใช้ petCount ในโค้ดของคุณ

    คุณจําเป็นต้องทําความเข้าใจตรรกะโค้ดของคุณก่อนที่คุณจะสามารถตรวจสอบความถูกต้องของโค้ดของคุณได้

    ในกรณีนี้ ตรรกะโค้ดของคุณจะอาศัยความสัมพันธ์ระหว่าง petCount และmaxPets คุณทราบว่า maxPets ได้รับการกําหนดค่า ของ 8แต่ว่าเกี่ยวกับ petCountอะไร รายการต่อไปนี้ช่วยในการประเมินตรรกะที่คุณได้นําไปใช้:

    • คุณทราบว่า petCount คือ 4 เมื่อคุณเข้าสู่การเกิดซ้ําครั้งแรกของ while รอบ

    • คุณทราบว่า petCount มีการเพิ่มขึ้นทุกครั้งที่มีการ while วนรอบ

    • คุณทราบว่าค่าที่ petCount กําหนดให้กับ และวิธีการ petCount ที่เพิ่มขึ้นส่งผลต่อวิธีการจัดเก็บข้อมูลใน ourAnimals อาร์เรย์ รายการต่อไปนี้อธิบายความสัมพันธ์ระหว่าง petCount และข้อมูลที่ถูกเก็บไว้ใน ourAnimals:

      • แอปพลิเคชันเพิ่มสัตว์เลี้ยงสี่ตัวใน ourAnimals อาร์เรย์ เมื่อสร้างข้อมูลตัวอย่าง
      • แอพลิเคชันจัดเก็บข้อมูลใหม่ไปยังourAnimalsอาร์เรย์ เมื่อค่าของ petCount คือ4 นี่ไม่ใช่ข้อบกพร่อง รหัสเหมาะสมเมื่อคุณระลึกว่าองค์ประกอบอาร์เรย์นั้นยึดตามศูนย์ ตัวอย่างเช่นourAnimals[0,0]มี ID สัตว์เลี้ยงสําหรับสัตว์1และมี ourAnimals[3,0] ID สัตว์เลี้ยงสําหรับสัตว์4 ดังนั้น เมื่อคุณpetCount4กําลังจัดเก็บข้อมูลสําหรับสัตว์เลี้ยงตัวที่ห้า
      • แอปพลิเคชันจะจัดเก็บข้อมูลสัตว์เลี้ยงไปยังอาร์เรย์ ก่อนที่จะเพิ่มpetCount
      • การเพิ่มแอปพลิเคชัน petCount ก่อนที่จะแจ้งให้ผู้ใช้ทราบเกี่ยวกับการเพิ่มสัตว์เลี้ยงตัวอื่น
      • เมื่อแอปพลิเคชันแสดงพร้อมท์ คุณต้องการใส่ข้อมูลสําหรับสัตว์เลี้ยงตัวอื่น (y/n) เป็นครั้งแรก petCount ถูกตั้งค่าเป็น5
    • ถ้าผู้ใช้ป้อน y ที่แรก คุณต้องการใส่ข้อมูลสําหรับพร้อมท์สัตว์เลี้ยง (y/n) อื่น คุณจะทราบว่า:

      • รอบ while (anotherPet == "y" && petCount < maxPets) จะทําซ้ํา คุณทราบว่ารอบจะทําซ้ําเนื่องจาก anotherPet == "y" และpetCount < maxPets
      • ค่าที่กําหนดให้ petCount จะถูกเพิ่ม (เมื่อมีการทําซ้ําการ while วนรอบ)
      • ค่าที่กําหนดให้ petCount จะเป็น 6 (หลังจากที่ผู้ใช้ป้อน y เป็นครั้งแรก)

    โปรดคํานึงถึงการวิเคราะห์ตรรกะโค้ดนี้เมื่อคุณทดสอบแอปพลิเคชันต่อไป

  10. โปรดสังเกตว่าแผงเทอร์มินัลจะอัปเดตด้วยข้อความ "สัตว์เลี้ยงตัวอื่น?" เดียวกัน แต่โค้ดของคุณไม่แสดงการอัปเดตpetCount

    แผงเทอร์มินัลควรแสดงเอาต์พุตต่อไปนี้:

    We currently have 4 pets that need homes. We can manage 4 more.
    Do you want to enter info for another pet (y/n)
    y
    Do you want to enter info for another pet (y/n)
    
  11. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน y

    เมื่อคุณป้อนyครั้งที่petCountสอง จะถูกเพิ่มเป็น7 ดังนั้น petCount ก็ยังน้อยกว่า maxPets

  12. ที่พรอมต์คําสั่งเทอร์มินัล ให้ป้อน y

    เมื่อคุณป้อนyครั้งที่petCountสาม จะมีการเพิ่มเป็น8 ดังนั้น petCount ตอนนี้เท่ากับ maxPets

  13. ตรวจสอบว่าโค้ดของคุณออกจากการ while วนรอบเมื่อคุณป้อน y ครั้งที่สาม

    แผงเทอร์มินัลควรแสดงเอาต์พุตต่อไปนี้:

    We currently have 4 pets that need homes. We can manage 4 more.
    Do you want to enter info for another pet (y/n)
    y
    Do you want to enter info for another pet (y/n)
    y
    Do you want to enter info for another pet (y/n)
    y
    We have reached our limit on the number of pets that we can manage.
    Press the Enter key to continue.
    

    หากโค้ดของคุณไม่ได้ออกจากการวนรอบเมื่อคาดหมาย ให้ดําเนินการตามรหัสของคุณด้วยตนเองและติดตามค่าของตัวแปรเกณฑ์การออกจากระบบ อัปเดตโค้ดของคุณเพื่อให้แน่ใจว่าคุณออกจากรอบเมื่อpetCountถึงค่าเท่ากับmaxPets ให้คําตอบ "y" จนกว่าคุณจะทราบว่าpetCountเท่ากับ maxPetsซึ่งมีค่าเริ่มต้นเป็น8

  14. ที่พรอมต์คําสั่งเทอร์มินัล กด Enter เพื่อเรียกใช้แอปพลิเคชันของคุณต่อไป

  15. ออกจากแอปพลิเคชัน แล้วปิดแผงเทอร์มินัล