Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

i need the program to display error message if the user input wrong date format.

ID: 3809013 • Letter: I

Question

i need the program to display error message if the user input wrong date format. and if a person enters wrong input format, then it should display the error in the message dialog rather than the converted date.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Scanner input =new Scanner (System.in);
String date;
String m;
int day, month, year;
String[] totalmonths ={"", "January", "February", "March", "April", "May",
"June", "July", "August", "September", "October", "November", "December" };

date=jTextField1.getText();
StringTokenizer token = new StringTokenizer (date, "/");
month = Integer.parseInt (token.nextToken());
day= Integer.parseInt (token.nextToken());
year= Integer.parseInt (token.nextToken());
m= totalmonths [ month ];
//string check= month + day + year;
String result= m + "" + day + ", " + year;
JOptionPane.showMessageDialog(null, result);
}

Explanation / Answer

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package chegg.march;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

/**
*
* @author Sam
*/
public class DateChecker {

    public static void main(String[] args) throws IOException {
        String date;
        String m;
        int day, month, year;
        String[] totalmonths = {"", "January", "February", "March", "April", "May",
            "June", "July", "August", "September", "October", "November", "December"};
        int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
        date = new BufferedReader(new InputStreamReader(System.in)).readLine();
        StringTokenizer token = new StringTokenizer(date, "/");
        try{
            month = Integer.parseInt(token.nextToken());
            if (month < 1 || month > 12){
                System.out.println("Invalid month");
                return;
            }
            day = Integer.parseInt(token.nextToken());
            if (day < 1 || day > days[month]){
                System.out.println("Invalid day");
                return;
            }
            year = Integer.parseInt(token.nextToken());
            if (year < 1800 || year > 2100){
                System.out.println("Invalid year");
                return;
            }
            m = totalmonths[month];
        //string check= month + day + year;
        String result = m + " " + day + ", " + year;
        System.out.println(result);
        } catch (NumberFormatException ex){
            System.out.println("Number expected.");
        }
    }
}


I have edited the method with BufferedReader. Please update the code for your own use as needed. In case you need any help, please comment below.
NOTE: I have not checked the leap year constraints