Table of contents
The Calendar class is an abstract class that provides methods for converting between a specific instant in time and a set of calendar fields such as YEAR
, MONTH
, DAY_OF_MONTH
, HOUR
, and so on, and for manipulating the calendar fields, such as getting the date of the next week.
You are given a date. You just need to write the method, getDay, which returns the day on that date. To simplify your task, we have provided a portion of the code in the editor.
Example*
month=8
day=14
year=2017*
The method should return MONDAY as the day on that date.
Function Description
Complete the findDay function in the editor below.
findDay
has the following parameters:
int: month
int: day
int: year
Returns
- string: the day of the week in capital letters
Input Format
A single line of input containing the space separated month, day and year, respectively, in MM DD YYYY
format.
Constraints
- 2000 < year <3000
Sample Input
08 05 2015
Sample Output
WEDNESDAY
Explanation
The day on August 5<sup>th</sup>
2015
was WEDNESDAY
.
Solution:
Language Used: Java
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
class Result
{
/*
* Complete the 'findDay' function below.
*
* The function is expected to return a STRING.
* The function accepts following parameters:
* 1. INTEGER month
* 2. INTEGER day
* 3. INTEGER year
*/
public static String findDay(int month, int day, int year)
{
// We use a Calendar object which we construct with GregorianCalendar constructor where month is 0 based (January = 0)
Calendar calendar = new GregorianCalendar(year, month - 1, day);
/*
We use calendar.getDisplayName method which receives the field format we want to display, day of week in this case,
a style to apply to the String representation, Long in this case and the Locale for our String representation, US.
Finally we upper case it.
*/
return calendar.getDisplayName(calendar.DAY_OF_WEEK, calendar.LONG, Locale.US).toUpperCase();
}
}
public class Solution
{
public static void main(String[] args) throws IOException
{
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
String[] firstMultipleInput = bufferedReader.readLine().replaceAll("\\s+$", "").split(" ");
int month = Integer.parseInt(firstMultipleInput[0]);
int day = Integer.parseInt(firstMultipleInput[1]);
int year = Integer.parseInt(firstMultipleInput[2]);
String res = Result.findDay(month, day, year);
bufferedWriter.write(res);
bufferedWriter.newLine();
bufferedReader.close();
bufferedWriter.close();
}
}