Java -- 键盘输入 Scanner, BufferedReader。 系统相关System,Runtime。随机数 Randrom。日期操作Calendar
1. Scanner 一个基于正则表达式的文本扫描器,他有多个构造函数,可以从文件,输入流和字符串中解析出基本类型值和字符串值。
public class Main {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(System.in); //键盘输入
input.useDelimiter("\n"); //设置分隔符
while(input.hasNext())
{
String tempStr = input.next();
if(tempStr.equals("quit"))
break;
else
System.out.println("log1: " + tempStr);
}
while(input.hasNextLine())
{
String tempStr = input.nextLine();
if(tempStr.equals("quit"))
break;
else
System.out.println("log2: " + tempStr);
}
Scanner input2 = new Scanner(new File("/media/123.txt")); //文件输入
while(input2.hasNextLine())
{
System.out.println("FileLine: " + input2.nextLine());
}
}
}
2. Bufferedreader 是IO流中的一个字符包装流,必须建立在字符流的基础上,System.in 为字节流,需要InputStreamReader将其包装字符流。
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String input2 = null;
while( (input2=buffer.readLine())!=null )
{
System.out.println("input2: " + input2);
}
比较两种键盘输入,不同的是Scanner还可以读入基本类型输入项,比如input.hasNextDouble(), 可以用Double tempStr = input.nextDouble(); 获得Double类型输入。
3. System 获取环境变量, Runtime获取运行时信息
Map<String, String> env = System.getenv(); //获取环境变量
for( String str : env.keySet() )
System.out.println(str + "=" + env.get(str)); Runtime rt = Runtime.getRuntime();
System.out.println(rt.availableProcessors()); //CPU个数
System.out.println(rt.freeMemory()); //空余内存
System.out.println(rt.totalMemory()); //总共内存
System.out.println(rt.maxMemory()); //最大内存
rt.exec("notepad.exe"); //windows下利用exec开启notepad
4. 产生随机数
使用Math 和 Randrom类均可以,使用Random伪随机数时构造种子选当前时间 .
System.out.println("random: " + Math.random()*10);
Random rd = new Random(System.currentTimeMillis());
System.out.println(rd.nextBoolean());
System.out.println(rd.nextDouble());
System.out.println(rd.nextFloat());
System.out.println(rd.nextInt());
5. 日期操作Calendar类
Calendar cd = Calendar.getInstance(); //抽象类
cd.setLenient(false); //设置容错性
System.out.println(cd.get(Calendar.YEAR));
System.out.println(cd.get(Calendar.MONTH) + 1);
System.out.println(cd.get(Calendar.DATE));
cd.set(2013, 11-1, 11);
System.out.println(cd.get(Calendar.YEAR));
System.out.println(cd.get(Calendar.MONTH) + 1);
System.out.println(cd.get(Calendar.DATE));
cd.add(Calendar.YEAR, 1);
System.out.println(cd.get(Calendar.YEAR));
System.out.println(cd.get(Calendar.MONTH) + 1);
System.out.println(cd.get(Calendar.DATE));
Java -- 键盘输入 Scanner, BufferedReader。 系统相关System,Runtime。随机数 Randrom。日期操作Calendar的更多相关文章
- 【转】Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...
- Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...
- java 键盘输入多种方法 .(转载)
一.java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有BufferedReader,Scanner. 实例程序: 1.利用 Scanner 实现从键盘读入int ...
- Java键盘输入的方法
转载:http://blog.csdn.net/u012249177/article/details/49586383 java输入的方法: import java.io.BufferedReader ...
- java 键盘输入多种方法
转! 分类: java学习2012-11-04 09:58 8427人阅读 评论(1) 收藏 举报 一.java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有Buf ...
- JAVA 键盘输入数组,输出数组内容和最大值、最小值
package shuzu; import java.util.Scanner; import java.util.Arrays; public class shuzu { /** * @param ...
- java 键盘录入(Scanner)
键盘录入(Scanner)• 键盘录入数据概述– 我们目前在写程序的时候, 数据值都是固定的, 但是实际开发中, 数据值肯定是变化的, 所以, 把数据改进为键盘录入, 提高程序的灵活性.• 如何实现键 ...
- vscode解决java无法输入(scanner)问题
vscode解决java无法输入问题 需要先安装java环境,->windows安装java 新建Test.java 输入代码 import java.util.Scanner; public ...
- java键盘输入方法-
字符串缓冲方式 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String line = null ...
随机推荐
- Codeforces Round #275 (Div. 2) C
题目传送门:http://codeforces.com/contest/483/problem/C 题意分析:题目意思没啥好说的. 去搞排列列举必须TLE.那么就想到构造. 1.n.2.n-1.3.n ...
- awk.sed.grep三剑客详解
事前准备1.主机node1:172.16.133.112.作为实验的文件/etc/passwd /etc/fstab qinqin cp /etc/passwd . cp /etc/fstab . 一 ...
- spring boot 使用拦截器 实现 用户登录拦截
登录拦截和和权限拦截实现类似 首先自定义一个[DefineAdapter]类,这个类我是用来放自定义的配置(比如 自定义请求参数,自定义拦截器等),集成WebMvcConfigurerAdapte ...
- iOS 获取LaunchImage启动图
iOS开发中,LaunchImage图片会根据手机机型的不同,自动匹配对应的图片,而我们如果想要拿到对应的图片,无法直接通过图片的名字获取该启动图,而需要通过以下方式 + (NSString *)ge ...
- vim与windows/linux之间的复制粘贴小结
vim与windows/linux之间的复制粘贴小结 用 vim这么久了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开 ...
- python 3 关于requests库的 text / content /json
最近在爬SDFDA的数据,刚开始用urllib.request 库,一直连不到数据 : 后来通过CHROME浏览器的F12,发现该 网站用的是JSON格式{}'Content-Type': 'appl ...
- php配置opcache
官网地址:http://php.net/opcache 使用下列推荐设置来获得较好的 性能: opcache.memory_consumption=128 opcache.interned_strin ...
- Keepalived 集群在Linux下的搭建
[概述]:Keepalived 是一个免费开源的,用C编写.主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务 ...
- centos7.0 安转mysql5.7
安装mysql5.7需要boost依赖包groupadd mysql useradd -r -g mysql -s /bin/false mysql cmake . -DCMAKE_INSTALL_P ...
- Lifting the Stone(多边形重心)
Lifting the Stone Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...