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 ...
随机推荐
- Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url
Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url 1.1. 原理流程1 2. Invoke1 3. StrutsX2 1.1. 原理流程 读取struts配 ...
- 在iOS中实现sticky header
经常在网页中看到这样一种效果,当页面滚动一段距离后,页面中的某个部分固定在一个区域(通常是头部导航),这种效果一般称为Sticky Header,如下图所示: 上述操作在Android系统中非常好实现 ...
- centos7.2 开发 部署 .net core
1.centos7.2 安装 nginx官方文档:http://nginx.org/en/linux_packages.html#mainline 创建nginx.repo 文件 Pre-Built ...
- 使用ffmpeg下载m3u8流媒体
安装 编译好的windows可用版本的下载地址(官网中可以连接到这个网站,和官方网站保持同步): http://ffmpeg.zeranoe.com/builds/ 或者: 百度网盘https://p ...
- git add -A使用说明
git help add -A, --all Like -u, but match <filepattern> against files in the workin ...
- bat命令遍历文件和bat参数说明
**************************************************************************************************** ...
- Android异步处理三:Handler+Looper+MessageQueue深入详解
在<Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面>中,我们讲到使用Thread+Handler的方式来实现界面的更新,其实是在非UI线程发送消息到U ...
- j2EE的web.xml详解
https://blog.csdn.net/changqing5818/article/details/49928231 https://www.cnblogs.com/ClassNotFoundEx ...
- Brain Network (easy)(并查集水题)
G - Brain Network (easy) Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & ...
- vue router-link子级返回父级页面
vue-router嵌套路由,从二级路由跳转到一级路由时,间歇性导致一级路由重叠 解决方法: 1.使用this.$router.push跳转