71 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| import java.util.Scanner;
 | |
| 
 | |
| class Number {
 | |
| 
 | |
|     private double value;
 | |
| 
 | |
|     public Number(double value) {
 | |
|         this.value = value;
 | |
|     }
 | |
| 
 | |
|     public boolean isZero() {
 | |
|         return value == 0;
 | |
|     }
 | |
| 
 | |
|     public boolean isPositive() {
 | |
|         return value > 0;
 | |
|     }
 | |
| 
 | |
|     public boolean isNegative() {
 | |
|         return value < 0;
 | |
|     }
 | |
| 
 | |
|     public boolean isOdd() {
 | |
|         return (int) value % 2 != 0;
 | |
|     }
 | |
| 
 | |
|     public boolean isEven() {
 | |
|         // This is an explicit narrowing typecast from double to int
 | |
|         return (int) value % 2 == 0;
 | |
|     }
 | |
| 
 | |
|     public boolean isPrime() {
 | |
|         if (value <= 1 || value != (int) value) return false;
 | |
|         for (int i = 2; i <= Math.sqrt(value); i++) if (
 | |
|             (int) value % i == 0
 | |
|         ) return false;
 | |
|         return true;
 | |
|     }
 | |
| 
 | |
|     public boolean isArmstrong() {
 | |
|         if (value != (int) value) return false;
 | |
|         int num = (int) value, sum = 0, digits = String.valueOf(num).length();
 | |
|         for (int n = num; n > 0; n /= 10) sum += Math.pow(n % 10, digits);
 | |
|         return sum == num;
 | |
|     }
 | |
| 
 | |
|     public static void main(String[] args) {
 | |
|         Scanner sc = new Scanner(System.in);
 | |
|         System.out.print("Enter a number: ");
 | |
|         Number number = new Number(sc.nextDouble());
 | |
| 
 | |
|         System.out.println(
 | |
|             "Is Zero: " +
 | |
|             number.isZero() +
 | |
|             ", Is Positive: " +
 | |
|             number.isPositive() +
 | |
|             ", Is Negative: " +
 | |
|             number.isNegative() +
 | |
|             ", Is Odd: " +
 | |
|             number.isOdd() +
 | |
|             ", Is Even: " +
 | |
|             number.isEven() +
 | |
|             ", Is Prime: " +
 | |
|             number.isPrime() +
 | |
|             ", Is Armstrong: " +
 | |
|             number.isArmstrong()
 | |
|         );
 | |
| 
 | |
|         sc.close();
 | |
|     }
 | |
| }
 | 
