java控制台输入输出
一、比较传统的输入方法用输入流,得到字符串后要另行判断、转换
案例
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class MainRun {
public static void main(String[] args) {
try {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("请输入一个整数:");
String str1 = bufferedReader.readLine();
Integer int1 = Integer.valueOf(str1);
System.out.println("输入的整数是:" + int1); System.out.println("请输入一个浮点数:");
String str2 = bufferedReader.readLine();
Double double1 = Double.valueOf(str2);
System.out.println("输入的浮点数是:" + double1);
} catch (IOException e) {
e.printStackTrace();
}
}
}
请输入一个整数:
输入的整数是:234
请输入一个浮点数:
输入的浮点数是:23.0
二、JDK5以后有了Scanner处理控制台输入
格式1: Scanner sc = new Scanner(new BufferedInputStream(System.in));
格式2: Scanner sc = new Scanner(System.in);
在有多行数据输入的情况下,一般这样处理:
while(sc.hasNextInt()){...} 或者 while(sc.hasNext()){}
读入一个字符串: String str = sc.next();
读入一整行数据: String lineString=sc.nextLine();
读入一个布尔值: boolean boolenaNumber = sc.nextBoolean();
读入一个字节型数据: byte byteNumbe = sc.nextByte();
读入一个短整型数据: short shortNumber=sc.nextShort();
读入一个整数: int intNumber = sc.nextInt();
读入一个长整型数据: long longNumber=sc.nextLong();
读入一个单精度浮点数: float floatNumber=sc.nextFloat();
读入一个双精度浮点数: double doubleNumber=sc.nextDouble();
对于计算代码运行时间:
long startTime = System.nanoTime();
// … the code being measured …
long estimatedTime = System.nanoTime() - startTime;
输入案例:
输入数据有多组,每组占2行,第一行为一个整数N,指示第二行包含N个实数
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
for(int i=0;i<n;i++)
{
double a=sc.nextDouble();
...
}
三、输出:
输出内容:System.out.print("");
输出内容并换行:System.out.println("");
格式化输出: System.out.format(String format, Object ... args);
等价于 System.out.printf((String format, Object ... args);
各种格式化样式说明:http://www.cnblogs.com/zhangpengshou/p/3699744.html
格式化输出案例:
// System.out.printf(format, args);format为指定的输出格式,args参数
System.out.printf("%+8.3f\n", 3.14); // "+"表示后面输出的数字会有正负号,正的+,负的-
// ;8.3f表示输出浮点数,宽度为8,小数点保持3位有效
System.out.printf("%+-8.3f\n", 3.14);// "-"表示靠左对齐
System.out.printf("%08.3f\n", 3.14);// "0"8位宽度中自动补0
System.out.printf("%(8.3f\n", -3.14);// "("如果是负数,自动加上( )
System.out.printf("%,f\n", 123456.78); // ","金钱表示方法,每三位有一个逗号
System.out.printf("%x\n", 0x2a3b); // 输出16进制数
System.out.printf("%#x\n", 0x2a3b);// 输出带0x标识的16进制数
System.out.printf("老板:您名字%s,年龄:%3d岁,工资:%,-7.2f\n", "ajioy", 21,
36000.00);
System.out.printf("老板:您名字%1$s,年龄:%2$#x岁\n", "ajioy", 38); // "n{1}quot;表示用第n个参数
输出结果:
+3.140
+3.140
0003.140
(3.140)
123,456.780000
2a3b
0x2a3b
老板:您名字ajioy,年龄: 21岁,工资:36,000.00
老板:您名字ajioy,年龄:0x26岁
五、规格化输出
SimpleDateFormat:SimpleDateFormat是DateFormat的子类,用于格式化日期时间。

SimpleDateFormat myFmt = new SimpleDateFormat(
"yyyy年MM月dd日 HH时mm分ss秒 E ");
System.out.println(myFmt.format(new Date()));
输出结果:
2016年09月08日 17时34分01秒 星期四
DecimalFormat:DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。

DecimalFormat案例:
DecimalFormat df1 = new DecimalFormat("0.0");
DecimalFormat df2 = new DecimalFormat("#.#");
DecimalFormat df3 = new DecimalFormat("000.000");
DecimalFormat df4 = new DecimalFormat("###.###");
System.out.println(df1.format(12.34));
System.out.println(df2.format(12.34));
System.out.println(df3.format(12.34));
System.out.println(df4.format(12.34));
输出结果:
12.3
12.3
012.340
12.34
注意:
在线编程类名是public class Main
java控制台输入输出的更多相关文章
- JAVA控制台输入输出方法总结
java的控制台输入输出有很多方法,此文分别对其进行介绍. 1.控制台的输入 关于控制台的输入主要介绍三种方法,第一种方法使用BufferedReader获得控制台输入的数据,此方法是传统的输入方法, ...
- java控制台输入输出字符串
一.实例说明 本实例通过输入流(System.in)实现从控制台接受用户输入信息,并将该信息输出到控制台. 运行效果如下图: 二.实现代码 三.要点说明 该实例的关键就是用到了System类的输入流, ...
- 关于Java控制台输入输出乱码问题
产生原因:因为这个开源项目的默认字符编码为UTF-8,所以我的控制台的字符编码也自动变成了UTF-8,而键盘的输入流的默认格式是GBK格式,这样就造成了在GBK转UTF-8的过程中产生的奇数乱码错误( ...
- 小学生四则运算出题软件-基于java控制台的实现
.题目描述: 1. 使用 -n 参数控制生成题目的个数,例如 Myapp.exe -n 10 -o Exercise.txt 将生成10个题目. 2. 使用 -r 参数控制题目中数值(自然数.真分数和 ...
- java控制台输入
一.java控制台输入 java控制台输入有如下几个方法 1.JDK 1.4 及以下版本读取的方法 JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的 ...
- 在竞赛ACM Java处理输入输出
一.Java之ACM注意点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非 ...
- Java 控制台输入数字 输出乘法表(代码练习)
最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...
- java控制台输入带空格的字符串
java控制台输入带空格的字符串 Scanner sc = new Scanner(System.in); String str = sc.nextLine();
- AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...
随机推荐
- 来杯咖啡看Pecan
Pecan的介绍及安装 文章内容来自官方文档:http://pecan.readthedocs.io/en/latest/quick_start.html Pecan的介绍: Pecan是一个路由对 ...
- RoboCup仿真3D TC笔记(2014年合肥中国公开赛 仿真3D比赛环境搭建)
所谓“TC“,就是Technology Committee(技术委员),讲的好像很厉害,实则就一“网管”. TC的技术含量其实不高,但是涉及的东西很多很杂,网上零零散散的都有,在这里我想总的整理一下, ...
- 【秒懂】号称最为简明实用的Django上手教程(下)
号称最为简明实用的Django上手教程(下) 作者:白宁超 2017年8月25日08:51:58 摘要:上文号称[最为简明实用的Django上手教程]介绍了django基本概念.配置和相关操作.相信通 ...
- 自制简易Linux系统
l 要求: 裁剪一个装载有网卡驱动可以上网并且使用到init的一个小系统 l 准备: 虚拟机,centos6.4 l 步骤: 一.在宿主机上添加一块硬盘,并为其安装grub 1. 在宿主机上添加一块硬 ...
- 常用的Linux发行版
Linux发行版百花齐放 [内容摘要] 如今,众多的Linux发行版百花齐放,linux的阵营日益壮大,每一款发行版都拥有一大批用户,开发者自愿为相关项目投入精力.Linux发行版可谓是形形色色,它们 ...
- shell 编程案例整理
一.统计成绩文件 [zheng@localhost ~]$ cat score.txt ngsan lisi 81.5 wangwu zhangsan lisi wangwu zhangsan lis ...
- CSS高级技巧
使用CSS复位 CSS复位可以在不同的浏览器上保持一致的样式风格.您可以使用CSS reset 库Normalize等,也可以使用一个更简化的复位方法:· * { box-sizing: border ...
- jsp中button按钮单击莫名提交两次或刷新页面问题
<button id="btn"></button>目前还不知道原因但是在button标签中加上type="button"属性即可解决问 ...
- [知了堂学习笔记]_JSON数据操作第1讲(初识JSON)
一.认识JSON 什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式..它基于 ECMAScript (w3c制定的js规 ...
- 欠了好久的CRM帖子,双11来读。
又一年双11了,觉得天猫双11越来越没特色了. 从折扣,音符旋律到红包,今年15年却找不出往年的热度,只是商家还是一样的急,备着活动目标计划,做着库存价格打标视觉设计这种苦逼的日子. 欠了好久的CRM ...