- Class 12 Java Program
- ISC Java Programs - Home
- Year 2025 Theory Programs
- Pernicious Number Program
- Check Matrix Column Sum Program
- Flipgram (Heterogram) Program
- Circular Queue Program
- Flight Passenger Inheritance Program
- Year 2025 Practical Programs
- Goldbach Number Program
- Shift Matrix Rows Up Program
- Pangram String Program
- Later Date Program
- Symmetric Matrix Program
- Cell Phone Keypad Program
- Unique Digit Integer Program
- Max & Min Elements in Matrix Program
- Anagram Strings Program
- Year 2025 Specimen Theory Programs
- Mask String Program Specimen
- Mix Array Program Specimen
- LCM using Recursion Program Specimen
- Recycle Dequeue Program Specimen
- Library Compute Inheritance Program Specimen
- Linked List & Binary Tree Question Specimen
- Year 2024 Programs
- Decimal to Hexadecimal Program
- Insertion Sort Program
- Lowest & Highest ASCII Value Program
- Card Game Stack Program
- Employee Salary Overtime Inheritance Program
- Binary Tree 2024 Questions
- Hamming Number Program
- Doubly Markov Matrix Program
- Snowball String Program
- Future Date Program
- Lucky Number Program
- Bar Graph of Vowels & Consonants Program
- Vampire Number Program
- Rotate Matrix by 270 Degree Anticlockwise Program
- Keyword Cipher Program
- Year 2023 Programs
- Increasing, Decreasing & Bouncy Number Program
- Fill Matrix with Characters Program
- Decode Encoded Text Program
- Project Submission Date Program
- Sort Matrix Boundary Elements Program
- Insert Word in a Sentence Program
- Composite Magic Number Program
- Mirror Image of a Matrix Program
- Common Words in a Paragraph Program
- Dudeney Number Recursive Program
- Matrix Transpose Program
- Sort Words Alphabetically Program
- DeQueue Data Structure Program
- Demand Supply Inheritance Program
- Linked List & Binary Tree Question
- Year 2023 Specimen Theory Programs
- Pronic Number in Java using Recursion
- Year 2022 Programs
- Unique Word Program
- No Repeated Alphabets Program
- Calculate Series Program
- Reverse Number using Recursion Program
- Item Taxable Inheritance Program
- Stack Data Structure Program
- Year 2021 Programs
- Evil Number Program
- Merge Two Arrays Program
- Remove Repeated Alphabets Program
- Rack Stack Data Structure Program
- Stock Sales Inheritance Program
- Year 2020 Theory Programs
- Date and Month Program
- Binary Search using Recursion Program
- Mix Two Words Program
- Circular Queue Program
- Data Interface Program
- Year 2020 Practical Programs
- Prime Adam Number Program
- Octal to Decimal Conversion Program
- Arrange Words Length-wise Program
- Year 2019 Theory Programs
- Armstrong Number Program
- Reverse Matrix Elements Program
- Rearrange Vowels & Consonants Program
- Record & Highest Inheritance Program
- Diary Class Queue Program
- Linked List and Binary Tree Program
- Year 2019 Practical Programs
- Generate Date Program
- Array Format Program
- Generate Palindrome Words
- Year 2018 Theory Programs
- Perfect Number Program on Recursion
- Checking for Equal Matrices
- Words Beginning with Capital Letter
- Number Series Inheritance Program
- Register Stack Program
- Year 2018 Practical Programs
- Goldbach Number Program
- Sorting Two-Dimensional Matrix Program
- Vertical Banner Program
- Year 2017 Theory Programs
- Palindrome using Recursion Program
- Adder Program
- Swap Sort Program
- Product Sales Inheritance Program
- Queue Program on Array
- Year 2017 Practical Programs
- Cartons Program
- Quiz Program
- Caesar Cipher Program
- Year 2016 Theory Programs
- Disarium Number Recursive Program
- Shift Matrix Shuffle Program
- ConsChange Program
- Bank Account Inheritance Program
- Bookshelf Stack Program
- Year 2016 Practical Programs
- Circular Prime Program
- Sort Non-boundary Matrix Elements Program
- Words Beginning and Ending with Vowels Program
- Year 2015 Theory Programs
- Admission Recursive Binary Search Program
- Merger Class Concatenation Program
- String Frequency Program
- WordPile Stack Program
- Plane Circle Inheritance Program
- Year 2015 Practical Programs
- Smallest Integer Program
- Rotate Matrix 90 Degrees Program
- Vowels and Consonants Per Word Program
- Year 2014 Theory Programs
- Merging Sorted Arrays Program
- Series Sum Program
- Fibonacci Strings Program
- Stock Purchase Inheritance Program
- Array to Stack Program
- Year 2014 Practical Programs
- Composite Magic Program
- Symmetric Matrix Program
- Deleting Word from String Program
- Year 2013 Theory Programs
- Emirp Number Program
- Exchange Alphabets Program
- Matrix Difference Program
- Perimeter Area Inheritance Program
- Dequeue Queue Program
- Year 2013 Practical Programs
- ISBN Code Program
- Mirror Image Matrix Program
- Palindrome Words Program
- Year 2012 Theory Programs
- Combine Array Program
- Vowel Word Program
- Happy Number Program
- Link Queue Program
- Detail Bill Inheritance Program
- Year 2012 Practical Programs
- Prime Palindrome Program
- Arrange Words Alphabetically Program
- Sort Matrix Elements Program
- Year 2011 Theory Programs
- Frequency of “And” and “An” Program
- Decimal to Octal Conversion Program
- Pseudo Arithmetic Sequence Program
- Record Rank Inheritance Program
- Stack Program Storing Names
- Year 2011 Practical Programs
- Number to Words Conversion Program
- Year 2009 Theory Programs
- Magic Number Program
- Year 2008 Theory Programs
- Special Number Program
- Year 2007 Theory Programs
- Triangular Number Program
Java Programs - Solved 2023 Theory Paper ISC Computer Science
![]() Share with a Friend |
Solved 2023 Thory Paper ISC Computer Science
Class 12 - ISC Computer Science Solved Theory Papers
Project Submission Date Program - ISC 2023 Theory
Write a program in Java to enter the date in (dd/mm/yyyy) format and day of the week on which a project was given. If a college allots 90 days (including the project giving day) to complete the work, then calculate the date on which the project is to be submitted along with the day name. If the final submission day is Sunday, then the students get one extra day and submits the project on the next day that is Monday.
Also check the validity of the date entered and display your output in the format given below.
Test your program with the given sample data and some random data.
Example 1
INPUT:
ENTER PROJECT DATE: 1/9/2022
DAY OF THE WEEK: THURSDAY
OUTPUT:
PROJECT SUBMISSION DATE: 29/11/2022
DAY OF THE WEEK: TUESDAY
Example 2
INPUT:
ENTER PROJECT DATE: 25/11/2022
DAY OF THE WEEK: FRIDAY
OUTPUT:
PROJECT SUBMISSION DATE: 22/02/2023
DAY OF THE WEEK: WEDNESDAY
Example 3
INPUT:
ENTER PROJECT DATE: 28/6/2022
DAY OF THE WEEK: TUESDAY
OUTPUT:
PROJECT SUBMISSION DATE: 25/9/2022
DAY OF THE WEEK: SUNDAY
PROJECT TO BE SUBMITTED ON 26/9/22 MONDAY
Example 4
INPUT:
ENTER PROJECT DATE: 31/9/2022
DAY OF THE WEEK: THURSDAY
OUTPUT: INVALID DATE
import java.util.Scanner; class ProjectDate{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("ENTER PROJECT DATE: "); String projectDate = in.nextLine(); System.out.print("DAY OF THE WEEK: "); String dayName = in.nextLine().toUpperCase(); if(!valid(projectDate, dayName)){ System.out.println("INVALID DATE"); return; } int delimiter1 = projectDate.indexOf('/'); int delimiter2 = projectDate.lastIndexOf('/'); int date = Integer.parseInt(projectDate.substring(0, delimiter1)); int month = Integer.parseInt(projectDate.substring(delimiter1 + 1, delimiter2)); int year = Integer.parseInt(projectDate.substring(delimiter2 + 1)); String w[] = {"", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"}; int m[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(leap(year)) m[2] = 29; int i = 1; while(i <= 7){ if(dayName.equals(w[i])) break; i++; } int j = 89; while(j > 0){ i++; if(i > 7) i = 1; date++; if(date > m[month]){ date = 1; month++; if(month > 12){ month = 1; year++; if(leap(year)) m[2] = 29; else m[2] = 28; } } j--; } System.out.println("PROJECT SUBMISSION DATE: " + date + "/" + month + "/" + year); System.out.println("DAY OF THE WEEK: " + w[i]); if(w[i].equals("SUNDAY")){ date++; i++; if(i > 7) i = 1; if(date > m[month]){ month++; if(month > 12){ month = 1; year++; } } System.out.println("PROJECT TO BE SUBMITTED ON " + date + "/" + month + "/" + year + " " + w[i]); } } public static boolean leap(int y){ if((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) return true; return false; } public static boolean valid(String date, String day){ int delimiter1 = date.indexOf('/'); int delimiter2 = date.lastIndexOf('/'); int dt = Integer.parseInt(date.substring(0, delimiter1)); int month = Integer.parseInt(date.substring(delimiter1 + 1, delimiter2)); int year = Integer.parseInt(date.substring(delimiter2 + 1)); switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(dt > 31 || dt < 1) return false; case 2: if(dt == 29 && !leap(year)) return false; else if(dt == 29 && leap(year)) return true; else if(dt > 28 || dt < 1) return false; case 4: case 6: case 9: case 11: if(dt > 30 || dt < 1) return false; } switch(day){ case "MONDAY": case "TUESDAY": case "WEDNESDAY": case "THURSDAY": case "FRIDAY": case "SATURDAY": case "SUNDAY": return true; default: return false; } } }
Output
OUTPUT 1:
ENTER PROJECT DATE: 1/9/2022
DAY OF THE WEEK: THURSDAY
PROJECT SUBMISSION DATE: 29/11/2022
DAY OF THE WEEK: TUESDAY
OUTPUT 2:
ENTER PROJECT DATE: 25/11/2022
DAY OF THE WEEK: FRIDAY
PROJECT SUBMISSION DATE: 22/2/2023
DAY OF THE WEEK: WEDNESDAY
OUTPUT 3:
ENTER PROJECT DATE: 28/6/2022
DAY OF THE WEEK: TUESDAY
PROJECT SUBMISSION DATE: 25/9/2022
DAY OF THE WEEK: SUNDAY
PROJECT TO BE SUBMITTED ON 26/9/2022 MONDAY
OUTPUT 4:
ENTER PROJECT DATE: 31/9/2022
DAY OF THE WEEK: THURSDAY
INVALID DATE
