Advertisement
k4u5h4L

java assessment 4.2

Nov 19th, 2020
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. interface GetHappyNumber {
  4.     interface FindIfHappyOrNot {
  5.         void findSum();
  6.         boolean checkIfHappy();
  7.     }
  8. }
  9.  
  10. public class Assessment_4_2 implements GetHappyNumber.FindIfHappyOrNot {
  11.     int[] digits = new int[20];
  12.     int sum = 0;
  13.  
  14.     void getDigits(int n) {
  15.         int m, a, i = 1, counter = 0;
  16.         m = n;
  17.         while(n > 0) {
  18.             n = n / 10;
  19.         }
  20.         while(m > 0) {
  21.             a = m % 10;
  22.             digits[counter++] = a;
  23.             m = m / 10;
  24.         }
  25.     }
  26.  
  27.     public boolean checkIfHappy() {
  28.         if (sum == 1) {
  29.             return true;
  30.         } else {
  31.             return false;
  32.         }
  33.     }
  34.  
  35.     public void findSum() {
  36.         int i;
  37.         sum = 0;
  38.         for (i = 0; i < digits.length; i++) {
  39.             sum += (digits[i] * digits[i]);
  40.             digits[i] = 0;
  41.         }
  42.     }
  43.     public static void main(String args[]) {
  44.         Scanner s = new Scanner(System.in);
  45.  
  46.         System.out.println("Enter a number:");
  47.  
  48.         int num = s.nextInt();
  49.  
  50.         if (num < 0) {
  51.             System.out.println("Please enter a number greater than 1");
  52.             System.exit(0);
  53.         }
  54.  
  55.         int i;
  56.  
  57.         Assessment_4_2 obj = new Assessment_4_2();
  58.  
  59.         obj.getDigits(num);
  60.         obj.findSum();
  61.  
  62.         while (!obj.checkIfHappy() && obj.sum >= 10) {
  63.             obj.getDigits(obj.sum);
  64.             obj.findSum();
  65.         }
  66.  
  67.         // System.out.println("Sum: " + obj.sum);
  68.         System.out.println("Happy? : " + obj.checkIfHappy());
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement