HackerRank Java Date and Time problem solution YASH PAL, 31 July 2024 In this HackerRank Java Date and Time problem in a java programming language, You are given a date. You just need to write the method, getDay, which returns the day on that date. HackerRank Java Date and Time problem solution. import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*; 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) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.MONTH,month-1); cal.set(Calendar.DAY_OF_MONTH,day); cal.set(Calendar.YEAR,year); String dayOfWeek = cal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.US).toUpperCase(); return dayOfWeek; } } 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(); } } Second solution in java8 programming. import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { try (Scanner scanner = new Scanner(System.in)) { int month = scanner.nextInt(); int day = scanner.nextInt(); int year = scanner.nextInt(); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DATE, day); calendar.set(Calendar.MONTH, month - 1); calendar.set(Calendar.YEAR, year); System.out.println(calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, new Locale("en", "US")).toUpperCase()); } } } Third solution import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Scanner; public class JavaDateAndTime { static List<String> days = Arrays.asList("SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"); public static String getDay(String day, String month, String year) { int y = Integer.parseInt(year); int m = Integer.parseInt(month); int d = Integer.parseInt(day); Calendar c = Calendar.getInstance(); c.set(y, m-1, d); int p = c.get(Calendar.DAY_OF_WEEK); String s = days.get(p-1); return s; } public static void main(String[] args) { Scanner in = new Scanner(System.in); String month = in.next(); String day = in.next(); String year = in.next(); System.out.println(getDay(day, month, year)); } } coding problems hackerrank solutions java
Hello Yash bro…!I had a doubt in First answer code//herecal.set(Calendar.MONTH,month-1);// at this line why u kept "-1" please tell me for it.