博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java控制台输入输出
阅读量:5330 次
发布时间:2019-06-14

本文共 3603 字,大约阅读时间需要 12 分钟。

一、比较传统的输入方法用输入流,得到字符串后要另行判断、转换

案例

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
输入的整数是:234
请输入一个浮点数:
23
输入的浮点数是: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

三、输出:

输出内容:System.out.print(""); 

输出内容并换行:System.out.println(""); 

格式化输出: System.out.format(String format, Object ... args); 

等价于    System.out.printf((String format, Object ... args); 

各种格式化样式说明:

格式化输出案例:

// 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:Simple

 

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

 

转载于:https://www.cnblogs.com/SaraMoring/p/5851247.html

你可能感兴趣的文章
解决响应式布局下兼容性的问题
查看>>
京东静态网页练习记录
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>
hdu3307 欧拉函数
查看>>
Spring Bean InitializingBean和DisposableBean实例
查看>>
Solr4.8.0源码分析(5)之查询流程分析总述
查看>>
[Windows Server]安装系统显示“缺少计算机所需的介质驱动程序”解决方案
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
Java基础之字符串匹配大全
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
[工具] Sublime Text 使用指南
查看>>
Hangfire在ASP.NET CORE中的简单实现方法
查看>>
Algorithm——何为算法?
查看>>