In this tutorial, we will learn about Sunny numbers and create a Java program to check for sunny numbers. We will see two java examples on Sunny Number.
What is Sunny Number?
A number N is said to be a sunny number if the number next to the given number (N+1) is a perfect square.
Example: Let us take a Number 8, then the next number is 8+1=9 and as 3 is a square root of 9, hence 8 is a sunny Number.
Another example, let the number be 5, then 5+1=6, that has no square roots, hence 5 is not a sunny Number.
Java Program to Check Whether the Number is Sunny Number or Not.
The program uses Math.sqrt() function that is an inbuilt function in Java.
import java.util.Scanner;
public class SunnyNumber
{
// Method to check for Sunny
public static boolean isSunnyFunc(int n)
{
if (Math.sqrt(n + 1) % 1 == 0)
return true;
else return false;
}
// main method
public static void main(String[] args)
{
int num = 0;
boolean result = false;
Scanner scan = new Scanner(System.in);
//taking input
System.out.print("Enter the number: ");
num = scan.nextInt();
// calling calculation Function by passing number
result = isSunnyFunc(num);
//print the result
if (result)
System.out.println(num + " is a Sunny number");
else
System.out.println(num + " is not a Sunny number");
}
}
Output:
Enter the number: 80
80 is a Sunny number
//Another Execution
Enter the number: 6
6 is not a Sunny number
Java Program to find all the Sunny Number between a given Range
import java.util.Scanner;
public class SunnyNumber
{
// Method to check for Sunny
public static boolean isSunnyFunc(int n)
{
if (Math.sqrt(n + 1) % 1 == 0)
return true;
else return false;
}
// main method
public static void main(String[] args)
{
int lrNum, upNum;
boolean result = false;
Scanner scan = new Scanner(System.in);
// take input from end-user
System.out.print("Enter the lower range: ");
lrNum = scan.nextInt();
System.out.print("Enter the upper range: ");
upNum = scan.nextInt();
System.out.println("The Sunny number between " + lrNum + " and " + upNum + " are: ");
for (int i = lrNum; i <= upNum; i++)
{
if (isSunnyFunc(i))
System.out.print(i + " ");
}
}
}
Output:
Enter the lower range: 1
Enter the upper range: 100
The Sunny number between 1 and 100 are:
3 8 15 24 35 48 63 80 99
Hope this article on the java program for the sunny number was helpful.