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

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

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

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. Maven01 环境准备、maven项目结构、编译/测试/打包/清除、安装、

    0 前提准备 0.1 安装java开发环境 0.2 安装maven工具 1 maven项目基本结构 如图所示,整个maven项目有业务文件.测试文件.POM依赖管理文件:其实还有一个资源文件resou ...

  2. GitHub 上的十一款热门开源安全工具

    作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条著名的原则甚至是信条.作为广为人知的Linus定律,当讨论开源模式在安全方面的优势时,开放代码能够提高项目漏洞检测效率的理论也被IT专业人士们所 ...

  3. SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库

    我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...

  4. LoadRunner11学习记录七 -- 负载生成器、事务&集合点顺序、HTML&URL录制

    1.什么情况下用到负载生成器? 当需要使用多台测试机对同一服务器同时压力测试时,需要配置负载生成器. 2.LoadRunner中事务和集合点的放置顺序问题 1)事务放在集合点前面 这时事务的时间包含了 ...

  5. Redis中redis.conf里面配置详解

    是否将redis设置为守护程序,默认为no daemonize yes   如果设置为守护程序,需要指定pid文件 pidfile /var/run/redis/redis-server.pid   ...

  6. [模板]割点(tarjan)

    洛谷P3388 注意:记得tarjan的打法 注意割点的判断条件:子节点个数>2并且为根节点  当它不为根节点时并且low[to]>dfn[u] 判断时是在子节点未被记录的时候 #incl ...

  7. 去除json数据的某些键值对

    假如现在要处理的原始数据是字符串.形式如下: var vJson = { name: "张三", class: "软件工程一班" ,other:"无效 ...

  8. Python自然语言处理工具NLTK的安装FAQ

    1 下载Python 首先去python的主页下载一个python版本http://www.python.org/,一路next下去,安装完毕即可 2 下载nltk包 下载地址:http://www. ...

  9. Perl 学习笔记-哈希

    1.Perl中的哈希 高效快捷, 没有大小限制. 大哈希一样很快! 命名: 和Perl其他标识符一样, 同时拥有自己的的名字空间.  $roger{"sex"} 和 $roger没 ...

  10. 使用VMware克隆Linux系统

    最近在学习使用solr云技术,因为是用来学习操作,因此需要在一台虚拟机上,安装多台LinuxOS. 但是又想偷懒,不想每安装一个LinuxOS,就重新配置Linux环境,所以使用克隆,只需安装好一个模 ...