Home »
Java Programs »
Java Basic Programs
Java program to store the date in a single integer variable
Given/input the date, we have to store it in a single integer variable.
Submitted by Nidhi, on March 05, 2022
Problem statement
In this program, we will read dd, mm, yyyy variables from the user and store input date into a single integer variable using bitwise operators. Then we will also extract the date and store it into dd, mm, yyyy variables.
Source Code
The source code to store the date in a single integer variable is given below. The given program is compiled and executed successfully.
// Java program to store the date in a
// single integer variable
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner SC = new Scanner(System.in);
int dd, mm, yy;
int date;
System.out.printf("Enter date (dd mm yyyy) format: ");
dd = SC.nextInt();
mm = SC.nextInt();
yy = SC.nextInt();
System.out.printf("\nEntered date is: %02d/%02d/%04d\n", dd, mm, yy);
date = 0;
//dd storing in byte 0
date |= (dd & 0xff);
//mm storing in byte 1
date |= (mm & 0xff) << 8;
//yy storing in byte 2 and 3
date |= (yy & 0xffff) << 16;
System.out.printf("Date in single variable: %d [Hex: %08X] \n", date, date);
//Now extract date from an integer variable
//dd from byte 0
dd = (date & 0xff);
//mm from byte 1
mm = ((date >> 8) & 0xff);
//yy from byte 2 and 3
yy = ((date >> 16) & 0xffff);
System.out.printf("Date after extracting: %02d/%02d/%04d\n", dd, mm, yy);
}
}
Output
Enter date (dd mm yyyy) format: 14 08 1988
Entered date is: 14/08/1988
Date in single variable: 130287630 [Hex: 07C4080E]
Date after extracting: 14/08/1988
Explanation
In the above program, we imported the "java.util.Scanner" package to read input from the user. And, created a public class Main. It contains a static method main().
The main() method is an entry point for the program. Here, we read the date (dd mm yyyy) from the user. Then we stored the input date into single variable using bitwise operators. After that, we also extracted the values for date's (dd mm yyyy) variables and printed the result.
Java Basic Programs »