做题时经常遇到输入的问题,很麻烦

写一点点自己对于输入的随笔,以备后查

这里都以整数为例,其他类型的话换成相应方法就行了

1、知道一共多少行,每一行只有一个整数

这是比较简单的输入,可以用Scanner或者BufferedReader读,需要的话再进行强制转换

Scanner sc = new Scanner(System.in);
for(int i=0;i<n;i++){
int x = sc.nextInt();
}

  

BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
for(int i=0;i<n;i++){
int x = Integer.parseInt(sc.readLine().trim());
}

  

2、不知道一共有多少行,每一行只有一个整数

Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
int x = sc.nextInt();
}
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
String s;
while((s=sc.readLine())!=null){
int x = Integer.parseInt(s.trim());
}

3、输入只有一行,有多个整数,不知道整数有多少个,它们之间用空格隔开,最后要把这些整数放入一个数组

BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
String[] s = sc.readLine().trim().split("\\s+");
int[] a= new int[s.length];
for(int i=0;i<s.length;i++){
a[i]=Integer.parseInt(s[i]);
}

  

4、输入只有一行,有多个整数,提前知道整数有多少个(比如5个),它们之间用空格隔开,最后要把这些整数放入一个数组

Scanner sc = new Scanner(System.in);
int[] a= new int[5];
int i=0;
while (sc.hasNextInt())
{
a[i++]=sc.nextInt();
}

  

5、输入有多行,整数之间由各种符号隔开(包括换行符),我们需要取得所有整数构成数组。我们提前知道一共需要多少整数(比如6个)

Scanner sc = new Scanner(System.in);
sc.useDelimiter(Pattern.compile("\\D+"));
int x,count=0;
int[] a= new int[6];
while(count<6){
x = sc.nextInt();
a[count++]=x;
}

  

JAVA输入随笔的更多相关文章

  1. Java输入/输出流体系

    在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...

  2. 转 Java输入输出流详解(非常详尽)

    转  http://blog.csdn.net/zsw12013/article/details/6534619 通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都 ...

  3. 【JAVA零基础入门系列】Day7 Java输入与输出

    [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...

  4. Java输入输出流详解

    通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都统一抽象为数据流.Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为 ...

  5. Java 输入/输出——处理流(RandomAccessFile)

    RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据.与普通的输入/输出流不同的是,Ra ...

  6. Java 输入/输出 反射

    Java  输入/输出   反射 输入输出和反射 一.数据流的基本概念 流一般分为 ( Input Stream ) 和输出流 ( Output Stream ) 两类,但这种划分并不是绝对的.比如一 ...

  7. 深入理解Java输入输出流

    Java.io包的File类,File类用于目录和文件的创建.删除.遍历等操作,但不能用于文件的读写. Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流.如何理解流的概念呢?可以 ...

  8. JAVA 输入输出程序开发

    参考: java中 静态方法和非静态方法的区别 字符流的输入和输出 java文件创建.删除.读取.写入操作大全 Java键盘输入并且写入文件 File类的isDiretory Java统计子串在字符串 ...

  9. Java输入/输出教程

    Java输入/输出(I/O)处理从源读取数据并将数据写入目标.通常,读取存储在文件中的数据或使用I/O将数据写入到文件中. java.io和java.nio包中包含处理输入/输出的Java类.java ...

随机推荐

  1. 数据分析sql常用整理

    [SQL 数据分析常用语句] 2017-07-20 00:00 数据分析 来源:datakong 转自:大数据 • 1 基础查询 • 2 字符串数字日期时间 • 3 聚合数据查询 • 4 子查询 • ...

  2. phpmailer配置qq邮箱

    function send_email2($email = '*****@perspectivar.com'){ $this->autoRender = false; date_default_ ...

  3. easyui 获取当前页签选中的名称

    parent.parent.$("#tabs").tabs('getSelected').panel('options').title == "收藏夹管理"

  4. HBase表的memstore与集群memstore

    一直有一个问题,今天调查了一下源码算是明白了. ===问题=== 通过java api(如下代码所示)在创建表的时候,可以通过setMemStoreFlushSize函数来指定memstore的大小, ...

  5. 在linux下使用CMake构建应用程序

    本文介绍了一个跨平台的自动化构建系统 CMake 在 linux 上的使用方法. CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来.文中通过一些例 ...

  6. SpringIOC的理解

    http://www.cnblogs.com/ITtangtang/p/3978349.html---IOC http://blog.csdn.net/fighterandknight/article ...

  7. mybatis :xml文件中传入参数和if标签结合使用时要点

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...

  8. (转)TinyHttp源码剖析

    tinyhttpd 是一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质. 看完所有源码,真的感觉有很大收获,无论是 unix 的编程,还是 ...

  9. gogland golang 颜色&字体 colors&font 配置文件

    <scheme name="Ya" version="142" parent_scheme="Darcula"> <opt ...

  10. Javascript基础编程の面向对象编程

    javascript是解释型的语言,在编译时和运行时之间没有明显区别,因此需要更动态的方法.javascript没有正式的类的概念,我们可以使用在运行时创建新的对象类型来替代,并且可以随时更改已有对象 ...