‫ยินดีต้อนรับคุณเม็ก
‫ในวิดีโอนี้ ฉันต้องการแสดงตัวอย่างวิธีแก้ปัญหาสำหรับคำสั่งสวิตช์
‫และใช่ มาเริ่มกันเลย
‫อย่างแรกเลย สิ่งที่เราทุกคนต้องการคือบูลีน และผมจะเรียกอันนี้ว่าใช้ได้
‫ดังนั้นสิ่งนี้จะดูแลให้รู้ว่าเรากำลังพูดถึงประเภทข้อมูลที่ถูกต้องหรือไม่ถูกต้อง และถูกต้องหรือไม่ถูกต้องขึ้นอยู่กับสิ่งที่ผู้ใช้ป้อนหลังจากที่เขาป้อนสตริง
‫อย่างแรกเลย เขาสามารถป้อนสตริงและเราจะต้องมีตัวแปรที่จะรู้ประเภทของค่า เพราะมีหลายประเภทค่าที่แตกต่างกันที่ฉันต้องการทำงานด้วยหรือชนิดข้อมูล
‫จากนั้นเรากำลังขอให้ผู้ใช้ป้อนบางสิ่ง
‫ผมจะบอกว่าป้อนค่า และเราจะเก็บค่านี้ไว้ในตัวแปรที่เรียกว่าค่าอินพุต
‫ไม่เป็นไร.
‫สิ่งต่อไปที่ฉันต้องการถามผู้ใช้คือ เขาคิดว่าข้อมูลเป็นประเภทใด
‫ดังนั้น เลือกประเภทข้อมูลเพื่อตรวจสอบความถูกต้องของข้อมูลที่คุณป้อน
‫บวกหนึ่งสำหรับสตริง สองสำหรับจำนวนเต็ม และสามสำหรับบูลีน
‫และตอนนี้เราต้องตรวจสอบว่าข้อใดถูกต้อง
‫ดังนั้นก่อนอื่นเราต้องรับข้อมูลของผู้ใช้และเราจำเป็นต้องได้รับค่าที่ผู้ใช้ป้อน
‫ตัวอย่างเช่น หากผู้ใช้ป้อนประเภทอินพุตหนึ่งประเภท ตัวแปรนี้ที่นี่จะเป็นประเภทเดียว
‫ถ้าเราป้อนสอง ก็จะเป็นสองเป็นต้น.
‫ดังนั้นเราจึงแปลงสิ่งที่ผู้ใช้ป้อนเป็นจำนวนเต็ม
‫แน่นอนว่าสิ่งนี้อาจผิดพลาดได้ ดังนั้นคุณอาจต้องการใช้ขาตั้งกล้องที่นี่แทน
‫แต่ฉันแค่จะถือว่าเรากำลังป้อนตัวเลขหนึ่ง สอง หรือสาม หรือตัวเลขทั่วไปเท่านั้น เพื่อที่โปรแกรมของเราจะไม่ขัดข้อง
‫หากคุณต้องการให้แน่ใจว่าโปรแกรมไม่ขัดข้องจริงๆ คุณสามารถเพิ่มการลองและบล็อกที่นี่และนั่นจะช่วยได้อย่างแน่นอน
‫หรือจะใช้ลองพาสก็ได้
‫ไม่เป็นไร.
‫นั่นฟรีสำหรับคุณ
‫ฉันแค่ทำให้มันง่ายในกรณีนี้
‫และเรากำลังเน้นไปที่คำสั่ง switch case ที่นี่
‫ถูกต้อง.
‫ไปข้างหน้าและสร้างเคสสวิตช์
‫แล้วสวิตช์เคสจะสนใจอะไร?
‫ก่อนอื่น เราต้องการทราบว่าผู้ใช้ป้อนข้อมูลอะไร
‫มันเป็นหนึ่ง สอง หรือสาม?
‫มารันโค้ดสำหรับเคสที่เป็น string กัน
‫ดังนั้นสำหรับกรณีที่ผู้ใช้ป้อน
‫เราจะสร้างวิธีการพิเศษขึ้นมาเพื่อตรวจสอบว่าทุกอย่างที่ผู้ใช้ป้อนนั้นเป็นตัวอักษรหรือไม่
‫ดังนั้นถ้าเป็นสตริง
‫ลองดูวิธีนี้เป็นแบบตัวอักษรก่อนที่เราจะไปต่อ
‫เราจะสร้างสิ่งนี้ขึ้นมาเล็กน้อย
‫วิธีการนอกวิธีการหลักโมฆะคงที่ของเรา
‫เลยจะเอามาลงไว้ตรงนี้
‫เราจำเป็นต้องตรวจสอบให้แน่ใจว่ามันเป็นสแตติกเพราะเราไม่ได้สร้างวัตถุของคลาสนี้ ดังนั้นเราจึงไม่สามารถใช้งานได้
‫ในกรณีนี้จึงต้องเป็นแบบคงที่
‫จากนั้นเราจะส่งคืนบูลีน
‫ดังนั้นวิธีนี้จะคืนค่าบูลและเราบอกว่าเป็นตัวอักษรทั้งหมด
‫นั่นคือชื่อของวิธีการ
‫เราต้องการสตริงซึ่งเป็นค่าที่ส่งผ่าน
‫แล้วสิ่งที่เราทำคือสำหรับอักขระแต่ละตัวในค่า สำหรับแต่ละ C ซึ่งเป็นอักขระในค่าของเรา ซึ่งเป็นสตริง
‫ดังนั้นเราจึงสามารถทำได้
‫เราต้องการตรวจสอบว่าอักขระนั้นเป็นตัวอักษรหรือไม่
‫และถ้าไม่ใช่จดหมายเราก็กลับมา
‫เท็จ.
‫ดังนั้นบูลีนทั้งหมดจะเป็นเท็จ ถ้ามันผ่านสตริงทั้งหมดที่นี่สำหรับค่าทั้งหมดนี้
‫และแต่ละค่าเป็นอักขระที่เป็นตัวอักษร จากนั้นจะส่งคืน
‫จริง.
‫โดยพื้นฐานแล้ว สมมติว่าเรามีข้อความที่นี่ซึ่งก็คือ Hello World
‫จากนั้นจะผ่านตัวอักษรทุกตัวที่นี่หรืออักขระที่จะตรวจสอบ
‫นี่คือจดหมาย
‫แล้ว.
‫นี่เป็นจดหมายหรือไม่?
‫เป็นต้น.
‫และทุกครั้งที่จะได้เห็น
‫อันที่จริงนี่คือจดหมาย
‫และนั่นคือสาเหตุที่มันจะต้องผ่านมันไปในแต่ละลูปโดยไม่คืนค่าเท็จ ณ จุดใดๆ
‫และมันจะกลับมาจริง
‫แล้วสมมุติว่าเรามีสวัสดีชาวโลกที่มีศูนย์ตรงนี้แทน และนี่จะเป็นสามเพราะว่าเราเจ๋ง
‫และทั้งหมดนั้นก็จะกลับเป็นเท็จ
‫ดังนั้นมันจะตรวจสอบ
‫นี่คือจดหมาย
‫ใช่ นั่นเป็นความจริง
‫นี่หรือจดหมาย?
‫ไม่มันไม่ใช่.
‫ดังนั้นข้อความทั้งหมดนี้จึงเป็นเท็จ
‫ดังนั้นมันกลับออกมาจากวิธีการทั้งหมดนี้และจะกลับมา
‫เท็จ.
‫ตกลง.
‫ตอนนี้เรากลับมาที่กรณีของเราได้แล้ว
‫หนึ่งที่เรากล่าวว่าถูกต้องคือตัวอักษร
‫ดังนั้นเราจึงส่งผ่านค่าอินพุตซึ่งเป็นของเรา
‫สตริงที่นี่ที่ผู้ใช้ป้อน
‫ดังนั้นสิ่งที่ผู้ใช้ป้อนเราตรวจสอบว่าเป็นตัวอักษรหรือไม่
‫และเราบอกว่าประเภทค่าอินพุตคือสตริง
‫แล้วเราก็แยกย้ายกันไป
‫อย่างไรก็ตาม บัตรลงคะแนนนี้จะเป็นผลของสิ่งที่เป็นตัวอักษรทั้งหมดกลับตามข้อมูลที่เราให้ไว้
‫ทีนี้มาดูกรณีที่สองที่ผู้ใช้ป้อนจำนวนเต็ม
‫ที่นี่เราตั้งค่าผู้ใช้ให้ป้อนสองและมันเป็นจำนวนเต็ม
‫ดังนั้นเราจึงตรวจสอบว่าค่าส่งคืนเป็นศูนย์
‫จากนั้นเราเช็คอิน ลองแยกค่าอินพุต
‫ดังนั้นเราจึงส่งผ่านสตริงของเรา เราพยายามแยกวิเคราะห์ และถ้ามันได้ผลก็จะเป็นจริง
‫และถ้ามันไม่ได้ผล มันก็จะเป็นเท็จ
‫และสิ่งที่ส่งออกไปเมื่อถูกต้องจะเป็นสีแดง
‫แล้วเราบอกว่าประเภทค่าอินพุตเป็นจำนวนเต็ม
‫เราแตกออกจากมัน
‫กรณีต่อไปคือกรณีของเราที่สาม
‫และที่นี่เรากำลังตรวจสอบแฟล็กบูลีนสีแดง
‫และแน่นอนคุณสามารถใช้บูลได้ที่นี่
‫คุณไม่จำเป็นต้องใช้บูลีน
‫ธงแดง.
‫มันจะเป็นเท็จในกรณีนี้ แฟล็กที่ส่งคืน
‫และเราใช้ขาตั้งกล้องอีกครั้ง คุณจะเห็นว่าเราสามารถใช้ Troy Powers เป็นจำนวนเต็มได้ แต่เราใช้กับบูลีนได้เช่นกัน
‫และที่นี่ bool dot ลองแยกวิเคราะห์ด้วยค่าอินพุต
‫หากค่าอินพุตเป็นบูลีน ทำลาย parse จะส่งคืนค่าจริง
‫มิฉะนั้นจะคืนค่าเท็จและจะถูกเก็บไว้ไม่ถูกต้อง
‫และไม่ว่าผลของการล่วงละเมิดนี้จะเป็นอย่างไร จะถูกเก็บไว้ในธงสีแดง
‫ดังนั้นหากเป็นบูลีน แฟล็กสีแดงจะเป็นจริง และค่าที่ถูกต้องของเราจะเป็นจริงด้วย และเราตั้งค่าอินพุตประเภทสองบูลีน
‫และในที่สุด เราก็ต้องมีกรณีเริ่มต้น
‫สมมติว่าผู้ใช้ป้อนอะไรก็ได้ยกเว้นหนึ่ง สอง และสาม
‫จากนั้นเราจะบอกว่าไม่สามารถตรวจจับประเภทอินพุตได้
‫มีบางอย่างผิดปกติและเราแยกมันออก
‫และตอนนี้เราแค่บอกผู้ใช้ว่าข้อมูลนั้นถูกต้องหรือไม่
‫ดังนั้นหากเขาพิจารณาสิ่งที่เขาป้อนถูกต้องและเราเพียงแค่พูดและอีกอย่าง นี่ควรเป็นบรรทัดเดียวต่อไป
‫เราก็แค่บอกว่าคุณป้อนค่าที่ป้อนเข้าไปแล้วเราตรวจสอบว่าค่านั้นถูกต้องหรือไม่?
‫แล้วเราบอกว่าถ้ามันเป็นบรรทัดสีแดงคอนโซลที่ถูกต้องก็ถูกต้อง
‫แล้วเราบอกว่าเป็นค่าอินพุตประเภทใด
‫ตอนนี้คุณเห็นมันบอกว่าใช้ประเภทค่าอินพุตตัวแปรท้องถิ่นที่ไม่ได้กำหนด
‫ดังนั้นเราจึงกำหนดค่าที่นี่ แต่เรากำหนดค่าในสวิตช์เท่านั้น ไม่ใช่ในผลลัพธ์ทั้งหมด
‫ตัวอย่างเช่น ในค่าเริ่มต้น เราไม่มีเอาต์พุตสำหรับประเภทค่าอินพุตของเรา
‫ดังนั้น สิ่งที่เราสามารถทำได้มี 2 วิธี
‫เราสามารถพูดได้ว่าประเภทค่าที่ป้อนเข้านั้นไม่ทราบค่าเท่ากัน จากนั้นข้อผิดพลาดจะหายไป
‫อีกทางหนึ่ง สิ่งที่เราสามารถทำได้คือเราสามารถพูดได้ว่าประเภทค่าอินพุตของเราคือจุดสตริงว่าง
‫นั่นจะเป็นทางเลือก
‫และคุณสามารถเห็นข้อผิดพลาดนั้นหายไปด้วย แม้ว่าฉันจะชอบตัวแปรนี้มากกว่าเพราะมันไม่เป็นที่รู้จัก
‫และเราจะแจ้งให้ผู้ใช้ทราบ
‫นี่คือสองตัวเลือกที่คุณมีที่นี่ แต่ผมจะเก็บมันไว้อย่างนั้น
‫เอาล่ะ ไปลุยกันเลย
‫และตามค่า ผมจะป้อน 13 และตอนนี้ สมมุติว่ามันคือจำนวนเต็ม
‫คุณได้ป้อนค่า 13
‫เป็นจำนวนเต็มที่ถูกต้อง
‫เอาล่ะ เรามาลองอีกครั้ง
‫ครั้งนี้ฉันจะเข้าสู่ Hello World และฉันคิดว่ามันเป็นจำนวนเต็ม และคุณได้ป้อนค่า Hello
‫world มันเป็นจำนวนเต็มที่ไม่ถูกต้อง
‫ตกลง ตอนนี้ มาตรวจสอบอีกครั้งด้วยค่าจริง และฉันคิดว่ามันเป็นบูลีน และคุณได้ป้อนค่าแล้ว
‫จริง.
‫มันเป็นบูลีนที่ถูกต้อง
‫ไม่เป็นไร.
‫ตอนนี้คุณมีโปรแกรมเล็กๆ ที่ให้คุณป้อนค่าแล้วลองบอกว่าเป็นข้อมูลประเภทใด
‫ดังนั้นเราจึงใช้คำสั่งสวิตช์ ขาตั้งกล้อง และเรายังใช้คำสั่ง if และ
‫เฮ้สำหรับแต่ละลูปที่นี่