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. 各类IP地址

    IPv4地址分类 折叠   A类IPv4地址 B类IPv4地址 C类IPv4地址 D类IPv4地址 E类IPv4地址 网络标志位 0 10 110 1110 11110 IP地址范围 1.0.0.0~ ...

  2. vfs之mount()

    首先明确一点,mount是vfs层的操作. 它的核心是从设备(可能是一个分区)上读出一个super block,把这个分区对应的文件系统的vfs函数表注册到super block的sb_opearti ...

  3. vue cli 项目中设置背景图

    https://blog.csdn.net/MoLvSHan/article/details/78204972 不能直接写成相对路径,像下面这这种就会报错 backgroundImage: " ...

  4. python每日练习10题2

    163.一个字典 key 是人名.value 是年龄,找出其中年龄 最大的人 d = {"张三":25,"李四":30,"王五":80,&q ...

  5. Yii2 kineditor

    用 kineditor实现异步 <table cellspadding=5 width=400> <tr height='150'> <td valign="t ...

  6. php strncmp()函数 语法

    php strncmp()函数 语法 作用:比较字符串前n个字符,区分大小写 语法:strncmp(string1,string2,length)直线电机品牌 参数: 参数 描述 string1 必须 ...

  7. [CSP-S模拟测试]:长寿花(DP+组合数)

    题目描述 庭院里有一棵古树.圣诞节到了,我想给古树做点装饰,给他一个惊喜.他会不会喜欢呢?这棵树可以分为$n$层,第$i$层有$a_i$个防治装饰品的位置,有$m$种颜色的装饰品可供选择.为了能让他喜 ...

  8. QT中用QStettings生成INI文件来记录QFileDialog::getOpenFileName上次的打开路径

    QSettings setting("./Setting.ini", QSettings::IniFormat); //QSettings能记录一些程序中的信息,下次再打开时可以读 ...

  9. Linux对用户态的动态内存管理

    Linux对内核态内存分配请求与用户态内存分配请求处理上分别对待 Linux本身信任自己,因此Linux内核请求分配多少内存,就会马上分配相同数量的内存出来. 但内核本身不相信应用程序,而且通常应用程 ...

  10. Appium移动端自动化:Appium-Desktp的使用以及定位元素方式总结

    一.appium-desktop功能介绍 1.打开appium-desktop,点击start session 2.打开后,点击屏幕右上角的搜索按钮 3.然后会打开配置页面,在本地服务配置信息同上面写 ...