zoukankan      html  css  js  c++  java
  • Scanner类

    专门的输入数据类,可以完成输入数据操作,也可以方便地对输入数据进行验证。

    此类存放在java.util包中

    <1>实例操作一:实现基本的数据输入

    使用Scanner类的next()方法

    import java.util.Scanner;
    
    //=================================================
    // File Name       :	Scanner_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	Scanner_demo;
    public class Scanner_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		Scanner scan = new Scanner(System.in); 
    		scan.useDelimiter("
    ");			//修改输入数据的分隔符,不然空格以后的字符串不能显示,
    回车
    		System.out.println("输入数据:");
    		String str = scan.next();
    		System.out.println("输入数据的数据为:"+str);
    	}
    
    }
    

    如果输入int或者是float类型的数据,scanner类中也支持,不过最好先使用hasNextXxx()方法进行验证

    import java.util.Scanner;
    
    //=================================================
    // File Name       :	Scanner_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	Scanner_demo;
    public class Scanner_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    
    		Scanner scan = new Scanner(System.in); 	//从键盘接收数据
    		int i =0;
    		float f = 0.0f;
    		System.out.println("输入整数:");
    		if(scan.hasNextInt()){
    			i = scan.nextInt();
    			System.out.println("输入的整数"+i);
    		}else{
    			System.out.println("输入的不是整数");
    		}
    		
    		System.out.println("输入小数:");
    		if(scan.hasNextFloat()){
    			f = scan.nextFloat();
    			System.out.println("输入的小数"+f);
    		}else{
    			System.out.println("输入的不是小数");
    		}
    	}
    
    }
    

    <2>实例操作一:实现日期格式的数据输入

    使用hasNext()对输入的数据进行正则验证,如果合法,则转换成Date类型

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Scanner;
    
    //=================================================
    // File Name       :	Scanner_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	Scanner_demo;
    public class Scanner_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    //		Scanner scan = new Scanner(System.in); 
    //		scan.useDelimiter("
    ");			//修改输入数据的分隔符,不然空格以后的字符串不能显示,
    回车
    //		System.out.println("输入数据:");
    //		String str = scan.next();
    //		System.out.println("输入数据的数据为:"+str);
    		
    //		Scanner scan = new Scanner(System.in); 	//从键盘接收数据
    //		int i =0;
    //		float f = 0.0f;
    //		System.out.println("输入整数:");
    //		if(scan.hasNextInt()){
    //			i = scan.nextInt();
    //			System.out.println("输入的整数"+i);
    //		}else{
    //			System.out.println("输入的不是整数");
    //		}
    //		
    //		System.out.println("输入小数:");
    //		if(scan.hasNextFloat()){
    //			f = scan.nextFloat();
    //			System.out.println("输入的小数"+f);
    //		}else{
    //			System.out.println("输入的不是小数");
    //		}
    		
    		Scanner scan = new Scanner(System.in); 	//从键盘接收数据
    		System.out.println("输入日期(yyyy-MM-dd):");
    		String str = null;
    		Date date = null;
    		if(scan.hasNext("^\d{4}-\d{2}-\d{2}$")){		//判断输入格式是否是日期
    			str = scan.next("^\d{4}-\d{2}-\d{2}$");		//接收日期格式的字符串
    			try{
    				date = new SimpleDateFormat("yyyy-MM-dd").parse(str);
    			}catch(ParseException e){
    				e.printStackTrace();
    			}
    		}else{
    			System.out.println("输入的日期格式错误");
    		}
    		System.out.println(date);
    	}
    
    }
    

    <3>实例操作三:从文件中得到数据

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Scanner;
    
    //=================================================
    // File Name       :	Scanner_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	Scanner_demo;
    public class Scanner_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    //		Scanner scan = new Scanner(System.in); 
    //		scan.useDelimiter("
    ");			//修改输入数据的分隔符,不然空格以后的字符串不能显示,
    回车
    //		System.out.println("输入数据:");
    //		String str = scan.next();
    //		System.out.println("输入数据的数据为:"+str);
    		
    //		Scanner scan = new Scanner(System.in); 	//从键盘接收数据
    //		int i =0;
    //		float f = 0.0f;
    //		System.out.println("输入整数:");
    //		if(scan.hasNextInt()){
    //			i = scan.nextInt();
    //			System.out.println("输入的整数"+i);
    //		}else{
    //			System.out.println("输入的不是整数");
    //		}
    //		
    //		System.out.println("输入小数:");
    //		if(scan.hasNextFloat()){
    //			f = scan.nextFloat();
    //			System.out.println("输入的小数"+f);
    //		}else{
    //			System.out.println("输入的不是小数");
    //		}
    		
    //		Scanner scan = new Scanner(System.in); 	//从键盘接收数据
    //		System.out.println("输入日期(yyyy-MM-dd):");
    //		String str = null;
    //		Date date = null;
    //		if(scan.hasNext("^\d{4}-\d{2}-\d{2}$")){		//判断输入格式是否是日期
    //			str = scan.next("^\d{4}-\d{2}-\d{2}$");		//接收日期格式的字符串
    //			try{
    //				date = new SimpleDateFormat("yyyy-MM-dd").parse(str);
    //			}catch(ParseException e){
    //				e.printStackTrace();
    //			}
    //		}else{
    //			System.out.println("输入的日期格式错误");
    //		}
    //		System.out.println(date);
    		
    		File f = new File("/home/common/software/coding/HelloWord/HelloWord/test.txt");//路径
    		Scanner scan = null;
    		try{
    			scan = new Scanner(f);					//从文件接收数据
    		}catch(FileNotFoundException e){
    			e.printStackTrace();
    		}
    		StringBuffer str = new StringBuffer();		//用于接收数据
    		while(scan.hasNext()){								//判断是否还有内容
    			str.append(scan.next()).append("
    ");	//分隔符分隔字符串,在每个字符串之后加上回车
    		}
    		System.out.println(str);
    	}
    
    }
    
  • 相关阅读:
    sql server 以10分钟分组 统计人数
    【转】锁(lock)知识及锁应用
    虚拟机中实现Linux与Windows之间的文件传输
    sql server 备份恢复效率
    sql server dba常用概念、操作分析char,varchar,nvarchar,varchar(max)
    数据库事务的四大特性以及事务的隔离级别
    SQLServer DBA 三十问(加强版)
    SQLServerDBA十大必备工具---让生活轻松点
    http头
    High performance web site
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5278511.html
Copyright © 2011-2022 走看看