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 ...
随机推荐
- Eureka 源码编译安装部署---Eureka运行eureka-server服务
---恢复内容开始--- 折腾了几天,终于运行好了,两个字:佩服 首先感谢这个大佬的博客支持:https://www.cnblogs.com/lifuping/p/5663127.html 1.首先在 ...
- 安装 redis [standlone模式]
下载redis版本:https://redis.io/download 我下载的是:redis-3.0.6 下载后,在linux上 tar -zxvf redis-3.0 ...
- Rserve方式连接别的服务器
Rserve Rserve的方式,这是一个基于TCP/IP的服务器,通过二进制协议传输数据,可以提供远程连接,使得客户端语言能够调用R 既然是TCP/IP 就可以在不同的机器上运行了 事实上官网给出了 ...
- nginx做反向代理proxy_pass,proxy_redirect的使用
大 | 中 | 小 今天用nginx作为trac的反代,发现一个问题,就是登入登出跳转的时候是白页,看了下网页相应内容,发现相应的location是空的.查了一下发现是只单纯用了proxy_pas ...
- PMD:Java源代码扫描器
PMD是一个开源代码分析器.可以查找常见编程缺陷,比如未使用的变量.空catch代码块.不必要的对象创建等.支持Java.JavaScript.PLSQL.Apache Velocity.XML.XS ...
- Coursera machine learning 第二周 编程作业 Linear Regression
必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to disp ...
- android shape的用法总结
参考代码: <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corner ...
- [Android Studio 权威教程]AS 中配置强大的版本号管理系统(Git、SVN、等)
在Eclipse中加入Git等版本号管理工具须要自己加入插件.并且个人认为不咋好用,在AS中已经给我们集成好了,我们仅仅须要配置一下就OK了.今天就和大家聊聊怎么配置以及使用的要点. 1. 安装Git ...
- 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数
题目描述 Given n, calculate the sum LCM(1,n) + LCM(2,n) + .. + LCM(n,n), where LCM(i,n) denotes the Leas ...
- 合理的布局,绚丽的样式,谈谈Winform程序的界面设计
转载,不错的学习文章 阅读后,起初不太明白,试验了几次后明白了dev的强大.从事Winform开发很多年了,由于项目的需要,设计过各种各样的界面效果.一般来说,运用传统的界面控件元素,合理设计布局,能 ...