Scnaner 这个类虽然可以接收各种类型,但是对于日期型的数据却无法接收。
如果要想接收Date 类型的数据,则只能通过字符串转型,但是在接收的时候依然可以使用Scanner 类中提供的方法进行验证:
验证:public boolean
hasNext(Pattern pattern)
接收:public
String next(Pattern pattern)
代码,借鉴下:- import java.util.* ;
- import java.text.* ;
- public class ScannerDemo04{
- public static void main(String args[]){
- Scanner scan = new Scanner(System.in) ; // 从键盘接收数据
- String str = null ;
- Date date = null ;
- System.out.print("输入日期(yyyy-MM-dd):") ;
- if(scan.hasNext("^\\d{4}-\\d{2}-\\d{2}{1}quot;)){ // 判断
- str = scan.next("^\\d{4}-\\d{2}-\\d{2}{1}quot;) ; // 接收
- try{
- date = new SimpleDateFormat("yyyy-MM-dd").parse(str) ;
- }catch(Exception e){}
- }else{
- System.out.println("输入的日期格式错误!") ;
- }
- System.out.println(date) ;
- }
- };
复制代码 |