Java Program to Check Duck Number
A duck number is a number that contains at least one zero in it, but the zero should not be at the beginning.
For example, 102 is a duck number, but 012 is not considered a valid duck number.
1. Understanding the Problem
Determine whether a given number is a duck number.
Number: 102 → Duck Number: 1203 → Duck Number: 123 → Not Duck
2. Using Basic Loop
Java
Check duck number using loop
import java.util.Scanner;
public class DuckNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int num = sc.nextInt();
boolean isDuck = false;
while (num > 0) {
int digit = num % 10;
if (digit == 0) {
isDuck = true;
break;
}
num /= 10;
}
if (isDuck)
System.out.println("Duck Number");
else
System.out.println("Not a Duck Number");
}
}
3. Optimized Approach
Java
Check duck number using string method
import java.util.Scanner;
public class DuckOptimized {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
String num = sc.next();
if (num.charAt(0) != '0' && num.contains("0"))
System.out.println("Duck Number");
else
System.out.println("Not a Duck Number");
}
}
4. Common Mistakes
1. Considering leading zero as valid.
2. Not checking all digits properly.
3. Breaking loop too early without checking full number.
4. Confusing with other digit-based problems.
5. Applications
1. Helps in understanding digit validation logic.
2. Useful for practicing loops and string handling.
3. Common beginner-level programming exercise.
Conclusion
Duck number programs are simple and useful for understanding digit-based checks.
Using string methods can simplify validation logic.
Codecrown