import java.io.*;
import java.util.*;
import java.util.Calendar;
public class Year {
public static void main(String[] args) throws IOException {
//判断是否为闰年
System.out.print("Enter 'year':");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String syear = br.readLine();
char [] num = syear.toCharArray();
if(num.length==4)
{
for(int i = 0;i<num.length;i++)
{
if(Character.isDigit(num[i]))
{
if(i==3)
{
int year = Integer.parseInt(syear);
if(year%4==0&&year%100!=0)
{
System.out.println("你输入的年份"+"\""+year+"\""+"是闰年");
}
else
{
System.out.println("你输入的年份"+"\""+year+"\""+"是平年");
}
}
}
else
{
System.out.println("请输入代表年份的数字!");
break;
}
}
}
else
{
System.out.println("请输入四位表示年份的数字!");
}
//判断输入的天数
Calendar calendar = Calendar.getInstance();
BufferedReader br0 = new BufferedReader(new InputStreamReader(System.in));
String syearmonth = br0.readLine();
char [] tochararray = syearmonth.toCharArray();
for(int i = 0;i<tochararray.length;i++)
{
if(Character.isDigit(tochararray[i]))
{
String digit = "";
digit =digit + tochararray[i];
if(i==5)
{
int j = digit.length();
System.out.println(j);
System.out.println(digit);
}
switch(i)
{case(4):
String s0year = digit.substring(0,3);
String smonth = digit.substring(4,5);
byte year = Byte.parseByte(s0year);
byte month = Byte.parseByte(smonth);
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month-1);
//calendar.set(Calendar.DATE,1);
//calendar.roll(Calendar.DATE, -1);
int maxday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
//int getdays = calendar.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+"有"+maxday+"天" );
break;
case(5):
s0year = digit.substring(0,4);
smonth = digit.substring(4,6);
year = Byte.parseByte(s0year);
month = Byte.parseByte(smonth);
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month-1);
maxday = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+month+"月"+"有"+maxday+"天" );
break;
}
}
}
}
}
```这是一个自己写的输入字符判断闰年和根据年月输出这个月有几天的程序,问问,为什么digit没法接收char数组的字符?用length方法获取长度时显示digit的长度为1;并且digit的值为6,怎么回事呢?