Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- interface GetHappyNumber {
- interface FindIfHappyOrNot {
- void findSum();
- boolean checkIfHappy();
- }
- }
- public class Assessment_4_2 implements GetHappyNumber.FindIfHappyOrNot {
- int[] digits = new int[20];
- int sum = 0;
- void getDigits(int n) {
- int m, a, i = 1, counter = 0;
- m = n;
- while(n > 0) {
- n = n / 10;
- }
- while(m > 0) {
- a = m % 10;
- digits[counter++] = a;
- m = m / 10;
- }
- }
- public boolean checkIfHappy() {
- if (sum == 1) {
- return true;
- } else {
- return false;
- }
- }
- public void findSum() {
- int i;
- sum = 0;
- for (i = 0; i < digits.length; i++) {
- sum += (digits[i] * digits[i]);
- digits[i] = 0;
- }
- }
- public static void main(String args[]) {
- Scanner s = new Scanner(System.in);
- System.out.println("Enter a number:");
- int num = s.nextInt();
- if (num < 0) {
- System.out.println("Please enter a number greater than 1");
- System.exit(0);
- }
- int i;
- Assessment_4_2 obj = new Assessment_4_2();
- obj.getDigits(num);
- obj.findSum();
- while (!obj.checkIfHappy() && obj.sum >= 10) {
- obj.getDigits(obj.sum);
- obj.findSum();
- }
- // System.out.println("Sum: " + obj.sum);
- System.out.println("Happy? : " + obj.checkIfHappy());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement