zoukankan      html  css  js  c++  java
  • 第六题(格式化)

    执行时抛出异常

    Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Double
        at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4045)
        at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2748)
        at java.util.Formatter$FormatSpecifier.print(Formatter.java:2702)
        at java.util.Formatter.format(Formatter.java:2488)
        at java.io.PrintStream.format(PrintStream.java:970)
        at Test.main(Test.java:17)

    我以为会自己主动截取成为int型

    刨根问底下

    Java 语言的格式化输出在非常大程度上受到 C 语言 printf 的启示。

    尽管一些格式字符串与 C 类似,但已进行了某些定制,以适应 Java 语言,而且利用了当中一些特性。此外。Java 的格式比 C 的格式更严格。比如,假设转换与标志不兼容,则会抛出异常。

    public PrintStream format(String format,
                              Object... args)
    使用指定格式字符串和參数将格式化字符串写入此输出流中。

    參数:
    format - 在格式字符串的语法中描写叙述的格式字符串
    args - 格式字符串中的格式说明符引用的參数。假设參数多于格式说明符,则忽略额外的參数。參数的数量是可变的,而且能够为零。參数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。

    针对 null 參数的行为依赖于 conversion

    返回:
    此输出流
    抛出:
    IllegalFormatException - 假设格式字符串包括非法语法、与给定參数不兼容的格式说明符、对给定格式字符串而言不够充足的參数或其它非法条件。有关全部可能的格式错误的规范,请參阅 formatter 类规范的具体信息部分。
    NullPointerException - 假设 formatnull
    总之,一句话,java的printf和format不会自己主动转换成所须要的类型。除非类型是兼容的

  • 相关阅读:
    JAVA GUI设
    3.4 jmu-java-随机数-使用蒙特卡罗法计算圆周率的值 (10 分)
    问题:关于2.3 jmu-Java-02基本语法-03-身份证排序 (9 分)
    关于3.1 jmu-Java-03面向对象基础-01-构造函数与toString (3 分)
    linux vim文件编辑的常用命令
    linux的常用命令
    linux文件存储方式
    第一个java
    hdu 2795
    hdu 1394
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6852430.html
Copyright © 2011-2022 走看看