java中输入方式Scanner和BufferedReader
Scanner 在java.util包中,需要引入时可以用import java.util.*;或者import java.util.Scanner;
工作原理:通过new创建一个Scanner对象,Scanner需要传入一个System.in作为参数,这个我们可以看作是Scanner通过其内部机制将System.in包装起来而实现数据的读取工作的。Scanner对象通过一系列的in.nextXxx();方法来读取相应的基本类型的数据,通过in.hasNextXxx();方法来判断是否还有下一个数据。 然而,Scanner读取数据是按空格符,这其中包括空格键,Tab键,Enter键。只要遇到其中之一,Scanner的方法就会返回下一个输入 ,这也就是我们会面临的另一个问题,当我们的输入数据中有空格时,我们就不会得到我们想要的数据,这样我们就要考虑到BufferReader来读取数据啦!
实际程序:
1 import java.util.Scanner;
2 public class ScannerTester{
3 public static void main(String[] args){
4 System.out.print("please input the name:");
5 Scanner scanner = new Scanner(System.in);
6 String name = scanner.nextLine();
7 System.out.println(name);
8 }
9 }
BufferReader位于java.io包中,需要引入时可以用import java.io.*;或者import java.io.BufferedReader;。
使用BufferReader就相对来说没有那么多方法来让你选择,读取数据比较固定,这样格式也就相对来说比较单一,只要记住就这一读取数据的方法。BufferReader br = new BufferReader(new InputStreamReader(System.in));。这个BufferReader对象通过readLine();方法来读取数据,readLine()是按Enter回车来读取一行数据的,只要在回车键之前的都会被readLine();方法返回, 然而,要使用BufferReader输入一些字符之外的类型的数据,就要相对比较麻烦,需要通过一些XXXX.parseXxx();来转换相应的数据类型,虽然,麻烦一些,但通过在一些OJ系统上的和Scanner作对比,BufferReader的效率要比Scanner高一倍,这个差距可想而知,读取的数据越多,效果就越明显。
实际程序:
import java.io.BufferedReader;
public class BufferedReaderTester{
public static void main(String[] args){
System.out.print("please input the adress:");
BufferedReader bufferedReader1 = new BufferedReader(new InputStreamReader(System.in));
String adress = bufferedReader1.readLine();
System.out.println(adress);
}
}
转载于:https://www.cnblogs.com/starainDou/p/4691061.html
java中输入方式Scanner和BufferedReader相关推荐
- java中GET方式提交和POST方式提交
java中GET方式提交的示例: /*** 获取关注列表;* @return*/@SuppressWarnings("unchecked")public static ArrayL ...
- java中输入的程序_Java中输入的用法
Java中输入 1. 读取输入 1)构建一个Scanner,附属到System.in Scanner in = new Scanner(System.in); 此时可以使用Scanner类的各种方法来 ...
- 如何 在java中输入字符
import java.util.Scanner;public class Demo {public static void main(String[] args) {Scanner sc = new ...
- Java:Java的输入类Scanner
对于c语言来说,输入是scanf(); 对于Java来说,有个类叫Scanner,可以把它理解成系统里面有个这样的结构体,结构体里面实现了一些函数让你用. 结构体要定义出来一个变量. 你单单这样写是没 ...
- java中输入char类型_java中如何输入char类型
java中基本数据类型的输入包括整形的输入:in.nextInt();单精度浮点型:in.nextFloat();双精度浮点型:in.nextDouble();字符串类型:in.next();in.n ...
- java中输入日期_Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- java中输入语句是怎么写的
java中用户输入语句的写法是: 1.[Scanner sc = new Scanner(System.in); ]: 2.[String input = sc.next();]. (视频教程推荐:j ...
- J2EE (十) Java中多种方式实现单例模式
简介 "单例"即单一实例从名字上望文生义即可知道该类是做什么的,可见设计模式的名字也是很重要的,让人通过名字就能知道模式的用途,通用性强我们再命名自己的模式.函数.过程等时候也要遵 ...
- java中改进方式遍历数组
public class Array_for { public static void main(String[] args) {int a[]= {1,2,4,5};for(int i:a) { / ...
最新文章
- include_once 问题
- RedHat企业版的安装(一)
- bootstrap项目实例_精选开源SpringBoot项目:涵盖权限、搜索、秒杀、支付!值得学习...
- 基于前后端分离实现阿里云对象存储小案例
- vux Cell组件
- [Web开发] MySpace 发布开发接口
- 战神II导演 首席程序员访谈(转自www.npc6.com )
- 使用零代码平台构建应用,应该怎样转变思路?
- linux6.5安装oracle,linux [CentOS 6.5]下安装oracle
- iOS: 属性声明strong和retain竟然不一样
- 牛客21781 牛兄牛弟
- 破解面试难题8个角度带你解读SQL面试技巧!
- vue host配置_从零开始部署一个 vue 项目
- 2019人工智能写作软件
- 电脑突然调节不了亮度?让我教你来恢复
- macOS配置Android SDK 环境变量
- html5 保存页面为pdf,如何在PyQt5中将HTML页面保存为PDF
- 服务器价格指导 7月四路机架产品选购
- 【致远FAQ】A6+Cloud__V1.0_A6+cloud的M3端地址保存提示:not found
- iOS7—Day by day—Day16:Decoding QR Codes With AVFoundation
热门文章
- 4 5区别 angular 和_初探Angular的更新机制
- python3虚拟环境不带任何模块_Python3虚拟环境-不存在的包
- webtop搭建简单知识库粗略介绍
- 页面跳转与重定向(之二)
- python和什么语言类似_python与其他语言的对比
- php调用好单库api视频教程,[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
- 安装多个mysql及mysql服务
- 某学校新买了一批计算机,2020年度初中信息技术考试选择题.doc
- oracle中pga指什么,oracle中pga内存分配原则
- 基于matlab的2ask频带传输系统仿真与性能分析,基于MATLAB的2ASK频带传输系统仿真与性能分析汇总...