欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java格式化输入输出整理(不定时更新)

程序员文章站 2022-07-15 10:08:32
...

java格式化输入输出

输入

格式1:Scanner sc = new Scanner (new BufferedInputStream(System.in))
格式2:Scanner sc = new Scanner (System.in);
在读入数据量大的情况下,格式1的速度会快些。
读一个整数: int n = sc.nextInt();
读一个字符串:String s = sc.next();
读一个浮点数:double t = sc.nextDouble(); 
读一整行: String s = sc.nextLine();
判断是否有下一个输入可以用sc.hasNext()或sc.hasNextInt()或sc.hasNextDouble()或sc.hasNextLine()

小数四舍五入输出

方法一、String.format(“小数格式”, 小数)

代码示例:

public class Demo01 {

	public static void main(String[] args) {
		double d01 = 3.1415926;
		double d02 = 3.019;
		double d03 = 3.9998765;
		double d04 = 9.9988;
		double d05 = 0.1;
		
		System.out.print(String.format("%.2f", d01)+"\t");
		System.out.println(String.format("%.3f", d01));
		System.out.print(String.format("%.2f", d02)+"\t");
		System.out.println(String.format("%.3f", d02));
		System.out.print(String.format("%.2f", d03)+"\t");
		System.out.println(String.format("%.3f", d03));
		System.out.print(String.format("%.2f", d04)+"\t");
		System.out.println(String.format("%.3f", d04));
		System.out.print(String.format("%.2f", d05)+"\t");
		System.out.println(String.format("%.3f", d05));
	}

}

结果
java格式化输入输出整理(不定时更新)

方法二、new DecimalFormat(“小数格式”).format(小数)

注意:小数格式的模板占位符有0和#两种,在不同的地方,作用不一样。

代码示例:

package com.ylw.id01;

import java.text.DecimalFormat;

//java小数格式化输出
//使用格式
//new DecimalFormat("小数格式").format(小数) 
//小数格式的模板占位符有0和#两种,在不同的地方,作用不一样。
public class Demo01 {

	public static void main(String[] args) {
		double d01 = 3.1415926;
		double d02 = 3.019;
		double d03 = 3.9998765;
		double d04 = 9.9988;
		double d05 = 0.1;
		
		System.out.println("占位模板:\"0.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("0.00").format(d01));
		System.out.println("占位模板:\"00.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.00").format(d01));
		System.out.println("占位模板:\"00.000\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.000").format(d01));
		System.out.println("占位模板:\"#.##\" \t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("#.##").format(d01));
		System.out.println("占位模板:\"##.##\" \t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.##").format(d01));
		System.out.println("占位模板:\"##.###\" \t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.###").format(d01));
		System.out.println("占位模板:\"#.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("#.00").format(d01));
		System.out.println("占位模板:\"##.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.00").format(d01));
		System.out.println("占位模板:\"##.000\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.000").format(d01));
		System.out.println("占位模板:\"0.##\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("0.##").format(d01));
		System.out.println("占位模板:\"00.##\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.##").format(d01));
		System.out.println("占位模板:\"00.###\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.###").format(d01));
		
		System.out.println("--------------------------------------------------------");
		System.out.println("占位模板:\"0.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("0.00").format(d02));
		System.out.println("占位模板:\"00.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.00").format(d02));
		System.out.println("占位模板:\"00.000\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.000").format(d02));
		System.out.println("占位模板:\"#.##\" \t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("#.##").format(d02));
		System.out.println("占位模板:\"##.##\" \t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.##").format(d02));
		System.out.println("占位模板:\"##.###\" \t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.###").format(d02));
		System.out.println("占位模板:\"#.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("#.00").format(d02));
		System.out.println("占位模板:\"##.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.00").format(d02));
		System.out.println("占位模板:\"##.000\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.000").format(d02));
		System.out.println("占位模板:\"0.##\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("0.##").format(d02));
		System.out.println("占位模板:\"00.##\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.##").format(d02));
		System.out.println("占位模板:\"00.###\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.###").format(d02));
		
		System.out.println("--------------------------------------------------------");
		System.out.println("占位模板:\"0.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("0.00").format(d03));
		System.out.println("占位模板:\"00.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.00").format(d03));
		System.out.println("占位模板:\"00.000\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.000").format(d03));
		System.out.println("占位模板:\"#.##\" \t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("#.##").format(d03));
		System.out.println("占位模板:\"##.##\" \t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.##").format(d03));
		System.out.println("占位模板:\"##.###\" \t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.###").format(d03));
		System.out.println("占位模板:\"#.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("#.00").format(d03));
		System.out.println("占位模板:\"##.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.00").format(d03));
		System.out.println("占位模板:\"##.000\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.000").format(d03));
		System.out.println("占位模板:\"0.##\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("0.##").format(d03));
		System.out.println("占位模板:\"00.##\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.##").format(d03));
		System.out.println("占位模板:\"00.###\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.###").format(d03));
		
		System.out.println("--------------------------------------------------------");
		System.out.println("占位模板:\"0.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("0.00").format(d04));
		System.out.println("占位模板:\"00.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.00").format(d04));
		System.out.println("占位模板:\"00.000\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.000").format(d04));
		System.out.println("占位模板:\"#.##\" \t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("#.##").format(d04));
		System.out.println("占位模板:\"##.##\" \t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.##").format(d04));
		System.out.println("占位模板:\"##.###\" \t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.###").format(d04));
		System.out.println("占位模板:\"#.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("#.00").format(d04));
		System.out.println("占位模板:\"##.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.00").format(d04));
		System.out.println("占位模板:\"##.000\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.000").format(d04));
		System.out.println("占位模板:\"0.##\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("0.##").format(d04));
		System.out.println("占位模板:\"00.##\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.##").format(d04));
		System.out.println("占位模板:\"00.###\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.###").format(d04));
		
		System.out.println("--------------------------------------------------------");
		System.out.println("占位模板:\"0.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("0.00").format(d05));
		System.out.println("占位模板:\"00.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.00").format(d05));
		System.out.println("占位模板:\"00.000\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.000").format(d05));
		System.out.println("占位模板:\"#.##\" \t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("#.##").format(d05));
		System.out.println("占位模板:\"##.##\" \t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.##").format(d05));
		System.out.println("占位模板:\"##.###\" \t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.###").format(d05));
		System.out.println("占位模板:\"#.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("#.00").format(d05));
		System.out.println("占位模板:\"##.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.00").format(d05));
		System.out.println("占位模板:\"##.000\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.000").format(d05));
		System.out.println("占位模板:\"0.##\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("0.##").format(d05));
		System.out.println("占位模板:\"00.##\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.##").format(d05));
		System.out.println("占位模板:\"00.###\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.###").format(d05));

	}

}

结果
java格式化输入输出整理(不定时更新)