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

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

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

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. 每个内存大小:sudo dmidecode -t memory |grep -A16 "Memory Device$" |grep "Size:"

    CPU: 型号:grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}' 数量:lscpu |grep "CPU ...

  2. 监控服务器cpu、磁盘、模板以及自定义key

    一.检测主机存活 net.tcp.service.perf[tcp,,] Float型 返回0代表端口挂了 zabbix fping要开启sudo权限之类比较不方便 二.监控CPU负载 监控load ...

  3. VIO系统的IMU与相机时间偏差标定

      视觉里程计(VIO)作为一种空间定位方法,广泛应用于VR/AR.无人驾驶和移动机器人,比如近年火热的苹果 AR-Kit和谷歌AR-Core都使用了VIO技术进行空间定位.通常,VIO系统忽略IMU ...

  4. python 文件操作(二)

    一. 文件的读写 1.找到文件 文件路径:./test.py 2.打开文件 open('文件路径','模式') 模式: r,   以只读的方式打开 w,  打开一个文件只用于写入,如文件已存在,直接重 ...

  5. windows server2012安装mysql时一直停留在start server的解决方法

    安装的时候,starting server 卡住 原因分析 这个问题小编安装mysql时也碰到过,出现这个问题是my.ini文件没有复制成功了,我们只要在mysql安装目录把把目录中的备份的my-sm ...

  6. mongodb 更新操作

    db.aaaa.update({},{$push:{money:{$each:[8,9,10],$slice:-4}}}) db.aaaa.update({},{$addToSet:{money:{$ ...

  7. es学习-索引配置

    1.创建一个新的索引并且添加一个配置 2.更新索引配置:(更新分词器为例子) 更新分词器前,一定要关闭索引,然后更新,最后再次开启索引 url:PUT http://127.0.0.1:9200/su ...

  8. javascript总结26:Date

    1 获取Date对象 Date-引用类型,JavaScript中的内置对象 获取当前时间 var date = new Date(); //UTC的时间 //返回数字,时间的毫秒形式 var date ...

  9. Mac Android8.0源码编译笔记

    原因:内存不够 办法:添加限制,输入如下命令:export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompil ...

  10. OpenCV实现均值哈希

    总共分三步:压缩,灰度化,均值化,求哈希值. 1.压缩 void secondMethod(char* filename, char* savename) { //const char* filena ...