首发地址:我的网易博客

在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢...

java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数...
Scanner是一个基于正则表达式的文本扫描器~~可以从文件,输入流,字符串中解析出基本类型和字符串类型的值。Scanner类提供了多个构造器,不同的构造器可以接受文件,输入流,字符串作为数据源,用于从文件,输入流字符串中解析数据。(摘自《疯狂java讲义》李刚)
代码示例:
 
import java.util.Scanner;

/**
* Scanner的简单示例
* */
public class TestScanner { public static void main(String[] args) { //创建Scanner对象
//System.in表示标准化输出,也就是键盘输出
Scanner sc = new Scanner(System.in);
//利用hasNextXXX()判断是否还有下一输入项
while (sc.hasNext()) {
//利用nextXXX()方法输出内容
String str = sc.next();
System.out.println(str);
}
}
}
结果就是:你在控制台输入什么内容,点击回车后,下面就会输出同样的内容,如果你输入的时候点击了回车或者Tab键,那么输出的内容就会在那个地方换行~~
结果如图:

可以利用Scanner在java程序需要参数的时候输入参数

代码示例:TestScannerIn.java
import java.util.Scanner;

/**
* 使用Scanner在程序需要的时候输入参数
* */
public class TestScannerIn { public static void main(String[] args) { /**
* 写一个输出个人信息的小例子
* */
Scanner sc = new Scanner(System.in);
sc.useDelimiter("/n");
System.out.println("欢迎来到冲出地球的博客,我是冲出地球^_^");
System.out.println("请问你叫什么名字呢?");
String name = sc.nextLine();
System.out.println("请问你来自哪里呢?");
String area = sc.nextLine();
System.out.println("好的,你来自" + area + ",那么,你们那有什么美食吗?");
String food = sc.nextLine();
System.out.println("好的,那么我来复述一下你的信息:");
System.out.println("你叫" + name + ",来自于:" + area);
System.out.println("你们那最好吃的东西是:" + food);
System.out.println("对吧~~");
}
}
结果:
Scanner除了可以获取键盘输入外,也可以获取文件中的内容,将文件中的内容一行一行的输入出来
如果文档在项目中(如图)
示例代码:TestScannerRead.java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner; /**
* 利用Scanner读取项目中的文档
* */
public class TestScannerRead { public static void main(String[] args){ Scanner sc;
try {
//读取项目中的文档
sc = new Scanner(new File("ScannerTest.txt"));
System.out.println("项目中的文本内容是:");
//通过判断是否有下一行来输出文档内容
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果:

 如果从本地读取文档

示例代码:TestScannerRead.java
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner; /**
* 利用Scanner读取本地的文件
* */
public class TestScannerRead { public static void main(String[] args){
FileInputStream fis;
try {
//利用文件上传功能
fis = new FileInputStream("D:\\text\\ScannerTest.txt");
//设置文件编码
Scanner sc = new Scanner(fis,"UTF-8");
System.out.println("本地文件内容:");
//输出文件内容
while (sc.hasNextLine()) {
System.out.println(sc.nextLine());
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果:

java利用Scanner获取键盘输入的更多相关文章

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

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

  2. 【Java】Java_20 Scanner获取键盘输入

    使用Scanner类可以很方便的获取用户的键盘输入,Scanner是一个基于正则表达式子的文本扫描器,他可以从文件.输入流.字符串中解析出基本类型值和字符串值. 例子示意: package com.o ...

  3. 学习笔记7——使用Scanner获取键盘输入

    使用Scanner类可以很方面地获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件.输入流.字符串中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同的构 ...

  4. 使用Scanner获取键盘输入 (转)

    原文地址:https://www.cnblogs.com/SzBlog/p/5404335.html 后面有改动 使用Scanner类可以很方便地便获取用户的键盘输入,Scanner是一个基于正则表达 ...

  5. 使用Scanner获取键盘输入

    使用Scanner类可以很方便地便获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件.输入流 .字符串中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同 ...

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

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

  7. java代码实现从键盘输入编号,输出价格,并且不再编号内的,无效输入!!!!

    总结:请给我更好的建议 package com.badu; import java.util.Scanner; //从键盘输入次数,通过输入的编号,输出对应的的商品价格: public class t ...

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

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

  9. System.in 获取键盘输入

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

随机推荐

  1. Javascript模块化编程(二):AMD规范(转)

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要 ...

  2. 怎样给Myeclipse配置tomcat服务器

    http://jingyan.baidu.com/article/4853e1e53465271909f72690.html Meclipse是java Web企业级开发中最流行的工具,java we ...

  3. 《zw版·Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册

    <zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对 ...

  4. express框架路由配置及congtroller自动加载

    express框架在node官方推荐的一个框架,关于如何入门的文章,已经很多了,我就不在累赘了,本文的核心是如何修改文件使得更接近一个MVC的框架 express原生是通过require的方式实现了模 ...

  5. 写Python脚本语言时,“SyntaxError: Non-ASCII character '\xe6' in file”错误的处理

    如图是一段简单的文件操作代码,以为打开文件"test1221_1.py",若不存在此文件,则创建此文件.接下来并输出相关信息. 当少写了黄色方框圈起来的一行看似不经意的带有编码格式 ...

  6. arm 2440 linux 应用程序 nes 红白机模拟器 第4篇 linux 手柄驱动支持

    小霸王学习机的真实手柄,实测CPU 占用 80% 接线图: 手柄读时序: joypad.c 驱动: 普通的字符设备驱动. #include <linux/module.h> #includ ...

  7. 170103、Redis官方集群方案 Redis Cluster

    前面我们谈了Redis Sharding多服务器集群技术,Redis Sharding是客户端Sharding技术,对于服务端来说,各个Redis服务器彼此是相互独立的,这对于服务端根据需要灵活部署R ...

  8. 自己动手写ORM框架

    提起ORM框架,大家都很熟悉,网上流行的ORM框架有很多,其中出名的有一些,不出名的更是数不胜数. 下面是自己实现的一个简单的ORM框架,实现了常用的增删查改功能,供大家研究ORM实现原理. 功能描述 ...

  9. HDU 1072 Nightmare

    Description Ignatius had a nightmare last night. He found himself in a labyrinth with a time bomb on ...

  10. 前端之CSS(二)

    一.盒子模型 说到盒子模型,我们不得不提一下,W3C标准和IE浏览器是有区别的,我昨天就在写抽屉作业的时候踩过坑,建议用谷歌浏览器,并推荐一篇博文:http://www.osmn00.com/tran ...