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的更多相关文章

  1. 【转】Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))

    Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...

  2. Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))

    Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...

  3. java 键盘输入多种方法 .(转载)

    一.java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有BufferedReader,Scanner. 实例程序: 1.利用 Scanner 实现从键盘读入int ...

  4. Java键盘输入的方法

    转载:http://blog.csdn.net/u012249177/article/details/49586383 java输入的方法: import java.io.BufferedReader ...

  5. java 键盘输入多种方法

    转! 分类: java学习2012-11-04 09:58 8427人阅读 评论(1) 收藏 举报 一.java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有Buf ...

  6. JAVA 键盘输入数组,输出数组内容和最大值、最小值

    package shuzu; import java.util.Scanner; import java.util.Arrays; public class shuzu { /** * @param ...

  7. java 键盘录入(Scanner)

    键盘录入(Scanner)• 键盘录入数据概述– 我们目前在写程序的时候, 数据值都是固定的, 但是实际开发中, 数据值肯定是变化的, 所以, 把数据改进为键盘录入, 提高程序的灵活性.• 如何实现键 ...

  8. vscode解决java无法输入(scanner)问题

    vscode解决java无法输入问题 需要先安装java环境,->windows安装java 新建Test.java 输入代码 import java.util.Scanner; public ...

  9. java键盘输入方法-

    字符串缓冲方式 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String line = null ...

随机推荐

  1. Python基础之迭代器

    迭代器的优点: 1.可以使用for循环遍历: 2.可以节省内存空间: 3.可以有序的访问集合(set)数据结构内的元素. 迭代器的缺点: 只能向前,不能后退. 可迭代对象与不可迭代对象: 可迭代对象: ...

  2. HTML5 2D平台游戏开发#9蓄力技

    在很多动作游戏中,玩家操控的角色可以施放出比普通攻击更强力的蓄力技,一般操作为按住攻击键一段时间然后松开,具体效果像下面这张图: 要实现这个操作首先要记录下按键被按住的时间,初始是0: this.sa ...

  3. C++ Primer(第五版)读书笔记 & 习题解答 --- Chapter 1

    Chapter 1.1 1. 每个C++程序都必须有且只能有一个main函数,main函数的返回类型必须是int.操作系统通过调用main函数来运行C++程序. 2. 一个函数的定义包含四部分:返回类 ...

  4. 禁止"Windows Media Player Network Sharing Service"服务自动启动

    开始 -> 运行 -> gpedit.msc -> 计算机配置 -> 管理模板 -> Windows 组件 -> Windows Media Player -> ...

  5. git入门四(分支创建合并)

    熟悉git分支的原理是掌握了git的精髓,因为git和我们常用的源码管理系统有很大的区别和优点在分支上可以体现出来,一般我们常用的源码管理系统分支都是需要创建新目录,有全新的源码copy,一般都需要创 ...

  6. sam配置命令概要

    ./install_packages --enhanced_reporting katello-configure --deployment=sam --user-pass=redhat chkcon ...

  7. 五分钟上手Git

    团队开发中.遵循一个合理.清晰的Git使用流程.是非常重要的.否则,每一个人都提交一堆杂乱无章的commit,项目非常快就会变得难以协调和维护.以下是ThoughtBot 的Git使用规范流程.我从中 ...

  8. Fiddler 抓取 ios 端数据包

    前提条件: 1. Fiddler 工具安装完成,并授权成功,可以完成网页的http 协议拦截. 2. iphone X 一部 ☺ 3. 360wifi 一个[同一局域网内,任何wifi都可以设置,其他 ...

  9. 【BZOJ3168】[Heoi2013]钙铁锌硒维生素 高斯消元求矩阵的逆+匈牙利算法

    [BZOJ3168][Heoi2013]钙铁锌硒维生素 Description 银河队选手名单出来了!小林,作为特聘的营养师,将负责银河队选手参加宇宙比赛的饮食.众所周知,前往宇宙的某个星球,通常要花 ...

  10. Java NIO Buffer(netty源码死磕1.2)

    [基础篇]netty源码死磕1.2:  NIO Buffer 1. Java NIO Buffer Buffer是一个抽象类,位于java.nio包中,主要用作缓冲区.Buffer缓冲区本质上是一块可 ...