1、概述

    1.1  JDK1.5提供了Scanner类,用来获取键盘输入;

    1.2  Scanner类是   一个基于正则表达式的文本扫描器,可以从文件、输入流、字符串中解析出基本类型值、字符串值;

    1.3  Scanner类提供了多个不同的构造器,可接受文件,输入流,字符串作为数据源,用于从文件、输入流、字符串中解析数据;

public final class Scanner implements Iterator<String>, Closeable {

    =====构造器
private Scanner(Readable source, Pattern pattern) {
assert source != null : "source should not be null";
assert pattern != null : "pattern should not be null";
this.source = source;
delimPattern = pattern;
buf = CharBuffer.allocate(BUFFER_SIZE);
buf.limit(0);
matcher = delimPattern.matcher(buf);
matcher.useTransparentBounds(true);
matcher.useAnchoringBounds(false);
useLocale(Locale.getDefault(Locale.Category.FORMAT));
} public Scanner(File source) throws FileNotFoundException {
this((ReadableByteChannel)(new FileInputStream(source).getChannel()));
} public Scanner(String source) {
this(new StringReader(source), WHITESPACE_PATTERN);
} public Scanner(InputStream source) {
this(new InputStreamReader(source), WHITESPACE_PATTERN);
}
}

    1.4  Scanner类提供的方法:

         hasNextXX():是否还有下一项;

         nextXX():获取下一项;

import java.util.Scanner;

public class TestScanner {

    public static void main(String[] args){
boolean flag=true;
while (flag){
//System.in标准输入,即键盘输入
Scanner scanner=new Scanner(System.in);
String inputContent=scanner.next();
if (inputContent.equals("exit")){
flag=false;
}
System.out.println(inputContent);
}
}
}

        hasNextLine():是否有下一行;

        nextLine():获取下一行;

import java.util.Scanner;

public class TestScanner {

    public static void main(String[] args){
boolean flag=true;
while (flag){
//System.in标准输入,即键盘输入
Scanner scanner=new Scanner(System.in);
String inputContent=scanner.nextLine();
if (inputContent.contains("exit")){
flag=false;
}
System.out.println(inputContent);
}
}
}

    1.5  Scanner类读取文件

import java.io.File;
import java.util.Scanner; public class TestScanner {
public static void main(String[] args)throws Exception{
Scanner scanner=new Scanner(new File("D:/Work/mydemo/src/main/java/Test.java"));
while (scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}
}
} 结果: import java.util.Scanner; public class Test { public static void main(String[] args){
test();
} public static void test(){
String a="a";
boolean flag=true;
while (flag){
Scanner scanner=new Scanner(System.in);
String inputContent=scanner.next();
if (inputContent.equals("exit")){
flag=false;
}
System.out.println(a+":"+inputContent);
}
}
}

  

JavaSE---用户交互---获取键盘输入的更多相关文章

  1. 在Delphi中使用键盘勾子获取键盘输入(译--5月7日)

    http://blog.sina.com.cn/s/blog_502b2e970100949s.html 获取键盘输入以控制无法接受输入焦点的控件考虑一些游戏,显示图片在TPainBox,但是TPai ...

  2. java利用Scanner获取键盘输入

    首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...

  3. 获取键盘输入或者USB扫描枪数据

    /// <summary> /// 获取键盘输入或者USB扫描枪数据 可以是没有焦点 应为使用的是全局钩子 /// USB扫描枪 是模拟键盘按下 /// 这里主要处理扫描枪的值,手动输入的 ...

  4. java 获取键盘输入常用的两种方法

    java 获取键盘输入常用的两种方法 方法1: 通过 Scanner Scanner input = new Scanner(System.in); String s = input.nextLine ...

  5. tkinter获取键盘输入

    tkinter获取键盘输入

  6. Java编程中获取键盘输入实现方法及注意事项

    Java编程中获取键盘输入实现方法及注意事项 1. 键盘输入一个数组 package com.wen201807.sort; import java.util.Scanner; public clas ...

  7. Java基础 - 获取键盘输入

    package com.demo3; import java.util.Scanner; /* * 使用 Scanner 获取键盘输入供程序使用 * * 使用步骤: * A:导包 * import j ...

  8. System.in 获取键盘输入

    此处说明 两种使用System.in获取键盘输入的两种方法,分别是Scanner 和 InputStreamReader. 其中System.in 在System类中的定义如下: package co ...

  9. WinForm 无焦点获取键盘输入

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

随机推荐

  1. sublime text 3插件下载教程

    Sublime官网下载地址:http://www.sublimetext.com/ 安装插件:(插件包管理Preferences Browse Packages) 插件官网:http://www.fe ...

  2. bootstrap响应式布局原理

    百分比布局+媒体查询 首先通过媒体查询确认container的宽度,每个col-xx-xx都是通过百分比定义的,屏幕尺寸变化了,container就变化了,col自然就变了 Bootstrap的官方解 ...

  3. Oracle 部门员工查询

    --部门:部门编号,部门名称,地址: --员工:员工编号,员工名字,职务,管理编号,入职日期,薪资,奖金,部门编号: CREATE TABLE dept( deptno INT PRIMARY KEY ...

  4. php quotemeta()函数 语法

    php quotemeta()函数 语法 作用:在预定义字符前添加反斜杠东莞直线电机 语法:quotemeta(string) 参数: 参数 描述 string 必须,需要处理的字符串 说明:该函数可 ...

  5. Ubuntu编译ruby

    要用sass,需要ruby2.0以上版本 ubuntu升级ruby到2.1 1.安装前更新: sudo apt-get -y update sudo apt-get install cmake sud ...

  6. Mac上VMWare Fusion配置多台cent os

    一.创建虚拟机(准备工作) 1.使用VMWare Fusion 创建第一台虚拟机 2.选择操作系统(本次使用的是使用cent os 6.5 64bit 系统) 3.选择磁盘大小(楼主mac上的磁盘大小 ...

  7. How to: Use a Custom User Name and Password Validator(WCF)

    在wcf中使用自定义的用户名和密码验证方式 https://msdn.microsoft.com/en-us/library/aa702565.aspx http://www.codeproject. ...

  8. linux系统中查看日志及系统信息

    cat tail -f 日 志 文 件说 明 /var/log/message系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure与安全相关的日志 ...

  9. yii之relations关联非主键

    yii的relations里self::BELONGS_TO默认是用当前指定的键跟关联表的主键进行join,例如: return array('reply' => array(self::BEL ...

  10. 抓包工具charles下载安装(MAC版)

    什么是charles? charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据.它允许一 ...