Categories

# ISC 2020 Computer Science Theory Day and Month Program

Design a class Convert to find the date and the month from a given day number for a particular year.

Example: If day number is 64 and the year is 2020, then the corresponding date would be: March 4, 2020 i.e. (31 + 29 + 4 = 64).

Some of the members of the class are given below:

Class name: Convert
Data members/instance variables:
n: integer to store the day number.
d: integer to store the day of the month (date).
m: integer to store the month.
y: integer to store the year.
Methods/Member functions:
Convert(): constructor to initialize the data members with legal initial values.
void accept(): to accept the day number and the year.
void dayToDate(): converts the day number to its corresponding date for a particular year and stores the date in ‘d’ and the month in ‘m’.
void display(): displays the month name, date and year.

Specify the class Convert giving details of the constructor, void accept(), void dayToDate() and void display(). Define a main() function to create an object and call the functions accordingly to enable the task.

``````import java.io.*;
class Convert{
int n;
int d;
int m;
int y;
public Convert(){
n = 0;
d = 0;
m = 0;
y = 0;
}
public void accept()throws IOException{
System.out.print("Day number: ");
System.out.print("Year: ");
if((y % 100 == 0 && y % 400 == 0) || y % 4 == 0){
if(d > 366){
System.out.println("Invalid day number!");
System.exit(0);
}
}
else if(d > 365){
System.out.println("Invalid day number!");
System.exit(0);
}
}
public void dayToDate(){
int a[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if((y % 100 == 0 && y % 400 == 0) || y % 4 == 0)
a[1] = 29;
int sum = 0;
if(d <= 31) m = 0; else{ while(d > 0){
d -= a[m];
m++;
if(d <= a[m])
break;
}
}
}
public void display(){
String months[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
System.out.println(months[m] + " " + d + ", " + y);
}
public static void main(String args[])throws IOException{
Convert obj = new Convert();
obj.accept();
obj.dayToDate();
obj.display();
}
}``````

This site uses Akismet to reduce spam. Learn how your comment data is processed.