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

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

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

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. 543. Diameter of Binary Tree 二叉树的最大直径

    [抄题]: Given a binary tree, you need to compute the length of the diameter of the tree. The diameter ...

  2. 226. Invert Binary Tree 翻转二叉树

    [抄题]: Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 [暴力解法]: 时间分析: 空间分 ...

  3. Ubuntu16.0安装Eclipse Neon

    eclipse在Ubuntu下安装先安装jdk,配置环境变量,之后下载eclipse安装包,解压,放置在目标目录,将jre链接到该目录或者将jdk下的jre目录复制到eclipse安装包目录下,双击文 ...

  4. Javascript 浅拷贝与深拷贝

    在了解JS的浅拷贝与深拷贝之前,我们需要先知道什么是值传递与引用传递. 在JS中,基本类型值的拷贝是按值传递的,而引用类型值的拷贝则是按引用传递的.通过值传递的变量间不会有任何牵连,互相独立:但是引用 ...

  5. array_combine()

  6. Greeplum 系列(六) 备份与恢复

    Greeplum 系列(六) 备份与恢复 http://www.dbdream.com.cn/category/greenplum/ 先介绍几个命令查看 Greenplum 集群状态: # 1. 查看 ...

  7. HUST软工1501-1503班第4周作业成绩公布

    说明 本次公布的成绩为第四周作业的结果: 第4周小组作业:WordCount优化 如果同学对作业结果存在异议,可以: 在毕博平台讨论区的第4周在线答疑区发帖申诉. 或直接在博客园本帖中进行评论进行申诉 ...

  8. 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)

    本篇文章主要介绍了"两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)",主要涉及到两款JSON类库Jackson与JSON-lib的性能对比(新增第三款 ...

  9. HDU 2084 数塔 (水DP)

    题意:.... 析:从下往上算即可,水DP. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #incl ...

  10. 从零开始学习前端JAVASCRIPT — 8、JavaScript基础COOKIE

    1:通信协议 定义:通信协议是指双方实体完成通信或服务所必须遵循的规则和约定.协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到 ...