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. 硬件知识整理part3--电阻在单片机系统中的应用

    邦有道,如矢:邦无道,如矢.  --孔子 电阻在电路中主要功能是限流和分压等等.在单片机系统中自然也是. 电阻作为限流应该是最常用的应用之一,对于单片机外围设计来说,电阻的应用非常重要,在很多时候,我 ...

  2. 等差数列,for循环,递归和尾递归的对比

    生活中,如果1+2+3+4.....+100,大家基本上都会用等差数列计算,如果有人从1开始加,不是傻就是白X,那么程序中呢,是不是也是这样.今天无意中看到了尾递归,以前也写过,但是不知道这个专业名词 ...

  3. Dart中类的getter和setter

    Dart类Getters和Setter Getters和Setter(也称为访问器和更改器)允许程序分别初始化和检索类字段的值. 使用get关键字定义getter或访问器.Setter或存取器是使用s ...

  4. SpringBoot 教程之 banner 定制

    目录   简介  变量  配置  编程  示例  参考资料 简介 Spring Boot 启动时默认会显示以下 LOGO: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ ...

  5. 剑指offer-面试题42-连续子数组的最大和-动态规划

    /*题目; 输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和. 要求时间复杂度为O(n). 先输入数组的格式,再依次输入数组的值.*//*思路: f(i) = pDa ...

  6. npm 安装与部署

    nodejs 安装 查看版本 官方网址 下载linux版,64位 wget https://npm.taobao.org/mirrors/node/v12.13.1/node-v12.13.1-lin ...

  7. java Spring boot Docker打包

    https://blog.csdn.net/Stephanie_1/article/details/88831993

  8. 小程序tabbar和navigator一起使用点不动

    在项目开发中我遇到这样的一个问题,页面需要navigator链接跳转一个页面,tabbar也需要导航到这个页面,最开始还没有添加tabbar的时候,navigator都能够正常跳转,但是当加上tabb ...

  9. 04_TypeScript类

    1.类的定义 //ts定义类和ES6相似,不同的是属性需要修饰符并定义数据类型 class Person{ public name:string; constructor(n:string){ thi ...

  10. SDN的深入思考(1):SDN的核心本质到底是什么?

    原文链接:https://blog.csdn.net/maijian/article/details/41744535 SDN的概念从提出到现在已经过了4年多了,但是关于SDN最基本的问题,“什么是S ...