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. 接口上传base64编码图片

    package com.*.util; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io. ...

  2. 【leetcode】668. Kth Smallest Number in Multiplication Table

    题目如下: 解题思路:几乎和[leetcode]719. Find K-th Smallest Pair Distance 的方法一样.只不过一个是减法一个是乘法,还有一点区别是[leetcode]7 ...

  3. 前端-使用template-web.js【模版引擎】渲染数据

    通过ajax请求到的数据,使用传统的拼接字符串也可以做到,但是‘ “ ” ‘这种模式,单引号.双引号容易 扩错,新手入门推荐使用这种,初入前端,需要一个一个敲代码体会一下. 使用 template.j ...

  4. 零基础python教程-Python解释器是什么?

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...

  5. boost Shared Memory

    Shared Memory Shared memory is typically the fastest form of interprocess communicatioin. It provide ...

  6. Python基础教程(017)--执行Python的方式解释器运行及其他几种解释器简介

    前言 了解Python的解释器 内容 Python的解释器乳交有多个语言的实现 cPython---官方版本的C语言实现 Jython--可以运行在java平台 IronPython--可以运行在.n ...

  7. c#蜘蛛

    C#写一个采集器 using System; using System.Collections.Generic; using System.Text; using System.Net; using ...

  8. BUUCTF | [HCTF 2018]admin

    首先爬一遍整个网站,发现有没注册的时候有“login”,"register",这两个页面,注册一个123用户登录后发现有 "index“,”post“,”logout“, ...

  9. CentOS 如何将.deb 文件 转换.rpm, centos安装deb包

    CentOS 如何将.deb 文件 转换.rpm [root@localhost tmp]#tar zxvf alien_8.88.tar.gz yum install alien [root@loc ...

  10. 信息安全-攻击-XSS:XSS/CSS 攻击

    ylbtech-信息安全-攻击-XSS:XSS/CSS 攻击 XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序.这些恶意 ...