方式1:InputStreamReader+BufferedReader

 package my_package;

 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;

 public class Test {
     public static void main(String[] args) {
         InputStreamReader isr=new InputStreamReader(System.in);
         BufferedReader br=new BufferedReader(isr);
         try {
             //不加缓冲区,只能读取char的ASCII码值。回车表示输入结束
             String str=br.readLine();
             System.out.println(str);
         } catch (IOException e) {
             e.printStackTrace();
         }

     }

 }

此方式的读取方式十分有限,不能满足很多功能,不推荐使用。

方式2:使用Scanner

 package test;

 import java.util.Scanner;

 public class Test {
     public static void main(String[] args) {
         //System.in表示标准输入,即键盘输入
         Scanner sc=new Scanner(System.in);

         //定义分隔符(单个输入结束的标志),默认使用回车
         //sc.useDelimiter("\n");    //参数可以使String或者Pattern

         String str;

         //如果还有下一个输入项。hasNextXxx()表示判断是否还有某个基础数据类型的输入
         while(sc.hasNext()){
             //获取用户输入.nextXxx()表示某个基础数据类型的输入
             str=sc.next();
             System.out.println(str);
         }

     }
 }
 package test;

 import java.util.Scanner;

 public class Test2 {
     public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         int i;
         //输入为int型的值时,才执行,否则break。比如下一个输入一个字符串,这个while就break了
         while(sc.hasNextInt()){
            i=sc.nextInt();
             System.out.println(i);
         }

     }

 }
 package test;

 import java.util.Scanner;

 public class Test3 {
     public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
         String str;
         //是否还有下一行输入
         while (sc.hasNextLine()){
             //读取一行,作为字符串返回
             str=sc.nextLine();
             System.out.println(str);
         }

     }

 }

功能较全,推荐使用。

Java 读取控制台输入的更多相关文章

  1. JAVA读取控制台的输入【转】

    前面介绍了使用IO类实现文件读写的示例,其实在很多地方还需要使用到IO类,这里再以读取控制台输入为例子来介绍IO类的使用. 控制台(Console)指无图形界面的程序,运行时显示或输入数据的位置,前面 ...

  2. (六)read读取控制台输入

    1.基本语法 read(选项)(参数) 选项: -p:指定读取值时的提示符: -t:指定读取值时等待的时间(秒). 参数 变量:指定读取值的变量名 2.案例实操 (1)提示7秒内,读取控制台输入的名称 ...

  3. java 获取控制台输入

    读取控制台输入 从控制台读取一行数据,返回值字符串 public class IO { public static void main(String args[]) throws IOExceptio ...

  4. Shell 脚本(四) ”read 读取控制台输入” 与 “函数”

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 八.read 读取控制台输入 1.基本语法 read(选项)(参数) 选项: -p: 指定读取值时的提示 ...

  5. shell专题(八):read读取控制台输入

    1.基本语法 read(选项)(参数) 选项: -p:指定读取值时的提示符: -t:指定读取值时等待的时间(秒). 参数 变量:指定读取值的变量名 2.案例实操 (1)提示7秒内,读取控制台输入的名称 ...

  6. java 通过控制台输入的数字打印菱形字母

    package com.rui.test; import java.util.Scanner; /** * @author sunshine * @version 1.0 * @date:2015年1 ...

  7. java接收控制台输入

    java控制台输入语句: Scanner sc = new Scanner(System.in); 通过一个变量,例如 int r; r = sc.nextInt();   例子: public st ...

  8. java扫描控制台输入

    由于因最近练习算法的需要,加上API文档中翻译的太过模糊,做了一些小测试,算是武断的记下一些个人结论. Scanner cin = new Scanner(System.in); 对于cin.next ...

  9. Java读取键盘输入

    三种方法分别如下: 方法一:从控制台接收一个字符,然后将其打印出来 import java.io.*; public static void main(String [] args) throws I ...

随机推荐

  1. 【Python】解析Python中的迭代器

    目录结构: contents structure [-] Iterator VS Iterable Itertools 模块 生成器(Generator) 在开始文章之前,先贴上一张Iterable. ...

  2. Transaction 那点事儿

    Transaction 那点事儿 https://my.oschina.net/huangyong/blog/160012

  3. osg geometry清空vertex

    _vertices->clear(); _vertices->dirty(); _drawArrays->set(sog::PrimitiveSet::POINTS,0,0); _g ...

  4. npm 加速之 yarn cnpm pnpm

    npm 加速之 yarn cnpm pnpm 有没有感觉到使用 npm 的时候很慢? 安装速度 几Kb/s 不说, 还装着装着出错了, 奇奇怪怪的问题.这种情况大多数还是因为网络的原因, 很多时候虽然 ...

  5. rocketmqy压测消费端解决源码中不能正常消费的问题

    因为近期在做rocketmq的性能压测,然后看到一些文章,提到用rocketmq中的自带的benchamark工具进行压测,因为我们公司是自己在做了一个二次封装,做了一层认证,所以工具还需要在改造,所 ...

  6. phpspreadsheet 中文文档(四) 创建电子表格+档案格式

    2019年10月11日14:01:48 该Spreadsheet班 该Spreadsheet班是PhpSpreadsheet的核心.它包含对所包含工作表,文档安全性设置和文档元数据的引用. 为了简化P ...

  7. IntelliJ IDEA 删除自定义的 Maven 框架依赖

    IntelliJ IDEA 删除自定义的 Maven 框架依赖 IntelliJ Idea中添加Maven Archetype,但是IntelliJ Idea中并没有提供删除的方法. windows中 ...

  8. Spark学习(2) RDD编程

    什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.弹性.里面的元素可并行计算的集合 RDD允 ...

  9. 【C语言】学不会的指针

    指针 前言: 指针是C语言程序的核心,刚开始学指针,嗯....这样呀,貌似不难呀:之后开始用指针,&p,p,*p,**p,这些指针在用的时候,额.....什么东东?每次都要想半天,特别是遇到双 ...

  10. 介绍一款好用的命令行工具Cmder

    一.Cmder的介绍: 在大多数情况下,我们都想复制命令行窗口中的命令行,但是cmd复制粘贴大家都懂得:有没有更好的工具替代呢? 答案是肯定的,今天我将为大家介绍一款工具--Cmder. Cmder可 ...