- Java Programs - Advanced
- Java Programs - Home
- Pernicious Number Program
- Check Matrix Column Sum Program
- Flipgram (Heterogram) Program
- Circular Queue Program
- Flight Passenger Inheritance Program
- Goldbach Number Program
- Shift Matrix Rows Up Program
- Pangram String Program
- Later Date Program
- Symmetric Matrix Program
- Cell Phone Keypad Program
- Unique Digit Integer Program
- Max & Min Elements in Matrix Program
- Anagram Strings Program
- Mask String Program Specimen
- Mix Array Program Specimen
- LCM using Recursion Program Specimen
- Recycle Dequeue Program Specimen
- Library Compute Inheritance Program Specimen
- Linked List & Binary Tree Question Specimen
- Decimal to Hexadecimal Program
- Insertion Sort Program
- Lowest & Highest ASCII Value Program
- Card Game Stack Program
- Employee Salary Overtime Inheritance Program
- Binary Tree 2024 Questions
- Hamming Number Program
- Doubly Markov Matrix Program
- Snowball String Program
- Future Date Program
- Lucky Number Program
- Bar Graph of Vowels & Consonants Program
- Vampire Number Program
- Rotate Matrix by 270 Degree Anticlockwise Program
- Keyword Cipher Program
- Increasing, Decreasing & Bouncy Number Program
- Fill Matrix with Characters Program
- Decode Encoded Text Program
- Project Submission Date Program
- Sort Matrix Boundary Elements Program
- Insert Word in a Sentence Program
- Composite Magic Number Program
- Mirror Image of a Matrix Program
- Common Words in a Paragraph Program
- Dudeney Number Recursive Program
- Matrix Transpose Program
- Sort Words Alphabetically Program
- DeQueue Data Structure Program
- Demand Supply Inheritance Program
- Linked List & Binary Tree Question
- Pronic Number in Java using Recursion
- Unique Word Program
- No Repeated Alphabets Program
- Calculate Series Program
- Reverse Number using Recursion Program
- Item Taxable Inheritance Program
- Stack Data Structure Program
- Evil Number Program
- Merge Two Arrays Program
- Remove Repeated Alphabets Program
- Rack Stack Data Structure Program
- Stock Sales Inheritance Program
- Date and Month Program
- Binary Search using Recursion Program
- Mix Two Words Program
- Circular Queue Program
- Data Interface Program
- Prime Adam Number Program
- Octal to Decimal Conversion Program
- Arrange Words Length-wise Program
- Armstrong Number Program
- Reverse Matrix Elements Program
- Rearrange Vowels & Consonants Program
- Record & Highest Inheritance Program
- Diary Class Queue Program
- Linked List and Binary Tree Program
- Generate Date Program
- Array Format Program
- Generate Palindrome Words
- Perfect Number Program on Recursion
- Checking for Equal Matrices
- Words Beginning with Capital Letter
- Number Series Inheritance Program
- Register Stack Program
- Goldbach Number Program
- Sorting Two-Dimensional Matrix Program
- Vertical Banner Program
- Palindrome using Recursion Program
- Adder Program
- Swap Sort Program
- Product Sales Inheritance Program
- Queue Program on Array
- Cartons Program
- Quiz Program
- Caesar Cipher Program
- Disarium Number Recursive Program
- Shift Matrix Shuffle Program
- ConsChange Program
- Bank Account Inheritance Program
- Bookshelf Stack Program
- Circular Prime Program
- Sort Non-boundary Matrix Elements Program
- Words Beginning and Ending with Vowels Program
- Admission Recursive Binary Search Program
- Merger Class Concatenation Program
- String Frequency Program
- WordPile Stack Program
- Plane Circle Inheritance Program
- Smallest Integer Program
- Rotate Matrix 90 Degrees Program
- Vowels and Consonants Per Word Program
- Merging Sorted Arrays Program
- Series Sum Program
- Fibonacci Strings Program
- Stock Purchase Inheritance Program
- Array to Stack Program
- Composite Magic Program
- Symmetric Matrix Program
- Deleting Word from String Program
- Emirp Number Program
- Exchange Alphabets Program
- Matrix Difference Program
- Perimeter Area Inheritance Program
- Dequeue Queue Program
- ISBN Code Program
- Mirror Image Matrix Program
- Palindrome Words Program
- Combine Array Program
- Vowel Word Program
- Happy Number Program
- Link Queue Program
- Detail Bill Inheritance Program
- Prime Palindrome Program
- Arrange Words Alphabetically Program
- Sort Matrix Elements Program
- Frequency of “And” and “An” Program
- Decimal to Octal Conversion Program
- Pseudo Arithmetic Sequence Program
- Record Rank Inheritance Program
- Stack Program Storing Names
- Number to Words Conversion Program
- Magic Number Program
- Special Number Program
- Triangular Number Program
Java Programs - Advanced
![]() Share with a Friend |
Happy Number Program - Java Program
A happy number is a number in which the eventual sum of the square of the digits of the number is equal to 1.
Example 1: 28
22 + 82 = 4 + 64 = 68.
62 + 82 = 36 + 64 = 100.
12 + 02 + 02 = 1.
Hence, 28 is a happy number.
Example 2: 12
12 + 22 = 1 + 4 = 5.
Hence, 12 is not a happy number.
Design a class Happy to check if a given number is a happy number. Some of the members of the class are given below:
Class name: Happy
Data members/instance variables:
n: stores the number.
Member functions:
Happy(): constructor to assign 0 to n.
void getNum(int num): to assign the parameter value num to the number n.
int sumSquareDigits(int x): returns the sum of the squares of the digits of the number x, using the recursive technique.
void isHappy(): checks if the given number is a happy number by calling the function sumSquareDigits(int) and displays an appropriate message.
Specify the class Happy giving details of the constructor, void getNum(int), int sumSquareDigits(int) and void isHappy(). Also define a main() function to create an object and call the methods to check for happy number.
import java.io.*; class Happy{ private int n; public Happy(){ n = 0; } public void getNum(int num){ n = num; } public int sumSquareDigits(int x){ if(x < 10) return x * x; else{ int d = x % 10; return d * d + sumSquareDigits(x / 10); } } public void isHappy(){ int sum = n; do{ sum = sumSquareDigits(sum); }while(sum > 9); if(sum == 1) System.out.println(n + " is a happy number."); else System.out.println(n + " is not a happy number."); } public static void main(String args[])throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("N = "); int num = Math.abs(Integer.parseInt(br.readLine())); Happy obj = new Happy(); obj.getNum(num); obj.isHappy(); } }
Output
OUTPUT 1: N = 28 28 is a happy number. OUTPUT 2: N = 12 12 is not a happy number.
