Java对话框输入,修改下面代码,若输入不合法,抛出异常并重新输入

import javax.swing.*;

public class Calendar {
public static void main(String[] args) {
// Prompt the user to enter input
String yearInput = JOptionPane.showInputDialog("Enter a year:");
int year = Integer.parseInt(yearInput);

    String firstDayInput = JOptionPane
            .showInputDialog("Enter the first day of the year:");
    int firstDay = Integer.parseInt(firstDayInput);

    int startDay = firstDay;
    int numOfDaysInMonth = 0;

    for (int month = 1; month <= 12; month++) {
        System.out.print("          ");
        switch (month) {
        case 1:
            System.out.println("January/" + year);
            numOfDaysInMonth = 31;
            break;

        case 2:
            System.out.println("Feburay/" + year);
            if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
                numOfDaysInMonth = 29;
            else
                numOfDaysInMonth = 28;
            break;

        case 3:
            System.out.println("March/" + year);
            numOfDaysInMonth = 31;
            break;

        case 4:
            System.out.println("April/" + year);
            numOfDaysInMonth = 30;
            break;

        case 5:
            System.out.println("May/" + year);
            numOfDaysInMonth = 31;
            break;

        case 6:
            System.out.println("June/" + year);
            numOfDaysInMonth = 30;
            break;

        case 7:
            System.out.println("July/" + year);
            numOfDaysInMonth = 31;
            break;

        case 8:
            System.out.println("August/" + year);
            numOfDaysInMonth = 31;
            break;

        case 9:
            System.out.println("September/" + year);
            numOfDaysInMonth = 30;
            break;

        case 10:
            System.out.println("October/" + year);
            numOfDaysInMonth = 31;
            break;

        case 11:
            System.out.println("November/" + year);
            numOfDaysInMonth = 30;
            break;

        case 12:
            System.out.println("December/" + year);
            numOfDaysInMonth = 31;
            break;
        }

        System.out.println("_______________________________");
        System.out.println("  Sun Mon Tue Wed Thu Fri Sat");

        int i=0;
        for(i=0;i<startDay;i++)
            System.out.print("    ");

        for(i=1;i<=numOfDaysInMonth;i++){
            if(i<10)
                System.out.print("   "+i);
            else
                System.out.print("  "+i);

            if((i + startDay) % 7 == 0)
                System.out.println();
        }

        System.out.println();
        System.out.println();

        startDay = (startDay + numOfDaysInMonth) % 7;
    }
}

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
下面代码,若输入不合法,怎么修改,抛出异常并重新输入
2
JAVA,当键盘输入多行字符串时,如何停止输入。
3
java代码模拟浏览器,访问网页;使网页中的统计代码能执行。
0
sublime text2 java 无法输入数据
1
如何用Java实现中文无词典分词,类似于fudannlp分词系统,能不能给出代码?
3
如何运用Java开发一个状文输入法?
3
求教:下面的代码中为何手动抛出异常
0
图像全局特征GIST的java代码
3
java中的常用的输入输出
2
JAVA为何继承了defaultComboBoxModel类,不能访问源代码里的类变量呢?
2
java代码的在线运行,对其内存限制,时间检测等问题[ga]
5
最下面配置文件的java代码怎么写的?
1
请问英雄会,java编程,扫描输入如何结束输入?急
1
java测试代码如何转成JSP页面
5
页面上有个textarea,在里面写java代码,然后如何动态编译执行这段java代码??
7
我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现?
3
javaweb怎么样在点击按钮以后,弹出一个对话框,对话框里面要有文本框
4
输入十个数,只输出不一样的数(用JAVA)(多种方法)(已解决)
10
Java中要求输入一个数字,该数字只能在另外两个数值之间,如果不满足要求重新输入。
6
JAVA在当前程序界面上显示出一个对话框,关闭后当前程序界面乱了。