转化成日期

import java.util.Scanner;


class Myexception extends Exception{//自定义异常
String id;
public Myexception(String str)
{
id=str;
}
public String toString()
{
return(id+"格式错误,没有分隔符!!!");
}
}
public class date{
 public static void main(String[] args)throws Myexception{//throws是声名方法将产生异常,也就不要在最后用catch
try{
 System.out.println("请输入你要输入的日期:");
 Scanner c=new Scanner(System.in);//scanner类的输入方法.要先定义一个对象.才能使用
 String b=c.nextLine();//输入字符串.数字也可以当字符输入
 char a[]=new char[10];//定义字符数组
 String a1[]=new String[3];//定义3个字符串
 int j=0,n=0,m=0;
 String str="/ , ";//初始化为"/空格,空格"字符串 
 StringBuffer dest=new StringBuffer(b);//为了使用StringBuffer类对字符串进行某些功能,进行建立对象dest
 char d[]=str.toCharArray();//将string类型字符串转换为char类型的数组,通过数组可以分解字符串
 if(b.length()<6){System.out.println("输入格式错误!!!");return;}//对输入的日期格式位数少于6位的进行抱错
 for(int i=0;i<b.length();i++)
 {
a[i]=b.charAt(i); 
 }
 for(int i=0;i<b.length();i++)//对输入的字符串进行处理出日期格式
 {
if(a[i]==d[0]||a[i]==d[1]||a[i]==d[2])
{
a1[n]=b.substring(j,i);//读取出j到i的子字符串
j=i+1;
n++;
}
if(i==b.length()-1)
      a1[n]=b.substring(j,i+1);
 }
for(int i=0;i<b.length();i++)//判断输入的字符串是否含有规范的分隔符

    if(a[i]==d[0]||a[i]==d[1]||a[i]==d[2])
       break;
   m++;
}
if(m==b.length())throw new Myexception(b);//丢出错误
System.out.println(a1[0]+"年"+a1[1]+"月"+a1[2]+"日");
 }catch(ArrayIndexOutOfBoundsException e)
 {
System.out.println("输入格式错误");
 }
}
}

猜你喜欢

转载自blog.csdn.net/xdkprosperous/article/details/53908023