方式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. CentOS7 升级 cmake

    编译cmake文件时,报错:CMake 3.0.0 or higher is required. You are running version 2.8.12.2 很明显,这是 cmake 版本过低导 ...

  2. [转]详解vue父组件传递props异步数据到子组件的问题

    原文地址:https://www.cnblogs.com/goloving/p/9114389.html 案例一 父组件parent.vue // asyncData为异步获取的数据,想传递给子组件使 ...

  3. SpringBoot入门-Redis(六)

    依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  4. 【翻译】Flink Table Api & SQL — Hive —— 在 scala shell 中使用 Hive 连接器

    本文翻译自官网:Use Hive connector in scala shell  https://ci.apache.org/projects/flink/flink-docs-release-1 ...

  5. C# 将DataTable数据写入到txt文件中

    见代码: /// <summary> /// 将DataTable里面的内容写入txt文件 /// </summary> /// <param name="dt ...

  6. TensorFlow 8 bit模型量化

    本文基本参考自这篇文章:8-Bit Quantization and TensorFlow Lite: Speeding up mobile inference with low precision ...

  7. docker load tar.gz包失败解决方法

    执行docker load -i xxx.tar.gz时候报错 open /var/lib/docker/xxx No such file or directory 这种情况属于容器快照文件缺乏基础镜 ...

  8. 【python基础】setproctitle的安装与使用

    前言 setproctitle模块允许设置进程名称. 安装 pip install setproctitle 使用 参考 1. setproctitle: 完

  9. jeecg 模糊查询

    1.前言 jeecg 考虑到默认模糊查询的话,会增加系统压力,导致查询慢,本来系统就挺那啥的... 2.方式一之实体赋值 实体重新赋值查询,用 * %% * 实现,我们知道 sql 中通常使用 % 去 ...

  10. windows系统常用命令

    dir 指定要列出的驱动器,显示当前文件夹下的文件   /?可显示所有命令 显示当前路径下的所有文件的绝对路径,包含子文件夹中的内容 D:\test > dir /b /s /o:n /a:a  ...