java字符数组转化字符串连接问题

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,怎么回事呢?

你的digit变量里面,接受的是第二次输入,并没有包含年份图片说明

类型不同,一个是String类型一个是char类型当然不能了!