Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键 时,Scanner就会返回下一个输入. 当你输入的内容中间包括空格时,显然,使用Scanner就不能完整的获得你输入的字符串。
但是nextline来获取完整输入

package AA;
import java.util.Scanner;
public class Io数据流 {
public static void main(String[] args) { Scanner de=new Scanner(System.in);
System.out.println("第一个数据(next)");
String dee=de.next();
System.out.println(dee); }
}

结果:

很明显,后面的321没有输出

完整的输出:nextLine();、BufferedReader

它们都是固定的格式,只要运用正确,出来enter外所有字符都能输出。

1,nextLine();---方法

package AA;
import java.util.Scanner;
public class Io数据流 { public static void main(String[] args) {
Scanner de=new Scanner(System.in);
System.out.println("第二个数据(nextLine)");
String dee1=de.nextLine();
System.out.println(dee1);
} }

结果:

此外,还有其他常用的Scanner方法:

next():取得一个字符串;
        nextInt():将取得的字符串转换成int类型的整数;
        nextFloat():将取得的字符串转换成float型;
        nextBoolean():将取得的字符串转换成boolean型;

2,BufferedReader

BufferedReader de=new BufferedReader(new InputStreamReader(System.in));

步骤:
1,方法必须抛出异常
2,写上固定格式,赋值
3,输出字符:

package AA;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Io数据流 { public static void main(String[] args) throws IOException {
char c;
BufferedReader de=new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入字符, 按下 'q' 键退出。");
// 读取字符
do {
c = (char) de.read();
System.out.print(c);
} while (c != 'q'); }
}

上面是利用循环,根据单个字符来输出

方法二:推荐

package AA;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Io数据流 { public static void main(String[] args) throws IOException { BufferedReader de=new BufferedReader(new InputStreamReader(System.in));
String dee=de.readLine();
System.out.println(dee);
}
}

参考:https://blog.csdn.net/cyp331203/article/details/38639101

控制台输出Scanner和BufferedReader区别的更多相关文章

  1. Qt 5.3更新无数,更改C++控制台输出最为赞(这样就和普通C++ IDE没区别了)

    转载请注明文章:Qt 5.3更新无数,更改C++控制台输出最为赞 出处:多客博图 本人觉得有了这个更新,Qt Creator可谓几乎没有缺点了,起码仅仅开发C/C++,是不用再去安装VS了. Qt 5 ...

  2. Java基础知识强化之网络编程笔记10:TCP之客户端读取文本文件服务器控制台输出

    1. TCP之客户端读取文本文件服务器控制台输出 (1)客户端:(发送数据到服务端) package cn.itcast_10; import java.io.BufferedReader; impo ...

  3. java Scanner与BufferedReader读取键盘输入性能比较

    java  Scanner与BufferedReader读取键盘输入性能比较            1.Scanner和BufferedReader 性能比较 在java中常见的从键盘获取输入的方式有 ...

  4. Java基础知识强化之集合框架笔记36:List练习之键盘录入多个数据在控制台输出最大值

    1. 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 分析: •  创建键盘录入数据对象 •  键盘录入多个数据,我们不知道多少个,所以用集合存储 •  以0结束,这个简单,只要键盘 ...

  5. 控制台输出到txt

    //PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. //PrintStream不同于PrintWriter,PrintStream输出的是字节内容. //pu ...

  6. Weex 学习文档、跳转路径、控制台输出、we转js汇总

    最近在学习阿里的weex框架,网上教程真是不少,但是有用的确实是少的很.其中大多数都是讲如何配置移动端的,很少有讲到weex语法的.要知道,如果真需要用weex编写js页面的话,很有可能是移动端开发者 ...

  7. c++日志输出库 spdlog 简介(3)多线程控制台输出日志

    spdlog源码分析:https://www.cnblogs.com/eskylin/p/6483199.html spdlog的异步模式使得spdLog可以支持多线程,于是写了一个多线程的小例子: ...

  8. js控制台输出console

    介绍: js的console你可以在firefox的firedbug或者ie和google的f12调试模式下看到,这些主流浏览器的调试模式的控制可以输出一些信息,你的一些js代码测试可以直接在cons ...

  9. .Net Core 控制台输出中文乱码

    Net Core 控制台输出中文乱码的解决方法: public static void Main(string[] args)         {             Console.Output ...

随机推荐

  1. StackExchange.Redis 系列 1:基础使用

    本系列博文已经全部完成,完整系列请访问:https://blog.zhuliang.ltd/tags/StackExchange-Redis%E7%B3%BB%E5%88%97/ 本文转自:https ...

  2. jQuery---jQuery插件

    jQuery插件 使用插件的步骤 1. 引入jQuery文件 2. 引入插件(如果有用到css的话,需要引入css) 3. 使用插件 <!--1. 引入jquery的js文件--> < ...

  3. 纪中9日T4 2298. 异或

    2298. 异或 (File IO): input:gcdxor.in output:gcdxor.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 题目描述 Sarv ...

  4. opencv —— line、ellipse、rectangle、circle、fillPoly、putText 基本图形的绘制

    绘制线段:line 函数 void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, ...

  5. cf1242B

    题意简述:给出一个n个点的完全图,边权要么是1要么是0,输入只给出权值的是1的那些边,求解最小生成树的权值 解答:边很多,我们考虑使用prim算法,prim算法的过程中维护了一个dis数组,这里我们可 ...

  6. ftp 拉去远程文件脚本

    ftp 拉去远程文件脚本 cat ftp.sh #!/bin/bash ftp -i -n 192.168.1.1 << EOF user ftpadmin gaofeng binary ...

  7. 查询MySQL DB

    public DataTable ConnMySql(string strRegisterNo) { try { DataTable dt = new DataTable("table&qu ...

  8. 输出redis cluster集群所有节点指定的参数的配置

    需要:实现类似redis-trib.rb call 命令的功能,输出redis cluster集群所有节点指定的参数的配置 redis-trib.rb的输出 [redis@lxd-vm3 ~]$ re ...

  9. 怎么利用 ChromeDriver 和 Selenium对 CEF应用进行自动化测试-java实现

    Overview ChromeDriver and Selenium are tools for automated testing of Chromium-based applications. T ...

  10. 关于SSHkey的问题

    这两天开始在办公室和家来回考代码,才感觉需要学习Git了.先在Github上注册账户,建立仓库.在执行git clone回本地时,出现错误: git@github.com: Permission de ...