เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

กรณีขอบเขต: หลักของตัวเลข

แบบฝึกหัดการเขียนโปรแกรมที่พบบ่อยแบบหนึ่งคือการดึงหลักของจำนวนเต็มออกมาแล้วจัดเรียงใหม่ วิธีที่เร็วที่สุดในการดึงหลักสุดท้ายของจำนวนเต็มคือการใช้ modulo 10 (% 10) ซึ่งจะคืนค่าเศษเหลือจากการหารจำนวนเต็มด้วย 10

ด้านล่างนี้คือเมธอดที่คืนค่าหลักสุดท้ายของจำนวนเต็ม แต่เมธอดนี้ทำงานผิดพลาดกับอินพุตครึ่งหนึ่งของทั้งหมด นั่นคือจำนวนเต็มลบ เนื่องจาก modulo 10 จะคงเครื่องหมายของจำนวนเต็มไว้

ป้อนค่าจำนวนเต็มที่ทำให้เมธอด lastDigit() คืนค่าที่ไม่ถูกต้อง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทดสอบใน Java เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เขียนจำนวนเต็ม หลายหลัก ที่เมธอด lastDigit() ระบุหลักสุดท้ายได้ไม่ถูกต้อง

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

public class LastDigit {
    public static void main(String[] args) {
    	// Write down an integer that causes an incorrect return value of lastDigit()
    	int n = ____; 
        System.out.println("The last digit of " + n + " equals " + lastDigit(n) + ".");
    }

    public static int lastDigit(int a) {
        return a % 10;
    }
}
แก้ไขและรันโค้ด