大家帮我看看这个代码
public class DataTypeMaxMin{
public static void main(String args[]){
System.out.printf("short range: %d~%d\n",
Short.MAX_VALUE,Short.MIN_VALUE);
System.out.printf("int range: %d~%d\n",
Integer.MAX_VALUE,
Integer.MIN_VALUE);
System.out.printf("long range: %d~%d\n",
Long.MAX_VALUE,
Long.MIN_VALUE);
System.out.printf("byte range: %d~%d\n",
Byte.MAX_VALUE,
Byte.MIN_VALUE);
System.out.printf("float range: %d~%d\n",
Float.MAX_VALUE,
Float.MIN_VALUE);
System.out.printf("double range: %d~%d\n",
Double.MAX_VALUE,
Double.MIN_VALUE);}
}运行后结果 如下
short range: 32767~-32768
int range: 2147483647~-2147483648
long range: 9223372036854775807~-9223372036854775808
byte range: 127~-128
float range: Exception in thread "main" java.util.IllegalFormatConversionExcepti
on: d != java.lang.Float
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printInteger(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at DataTypeMaxMin.main(DataTypeMaxMin.java:14)
为什么到了float就不行了啊,注释掉float,double也通不过
哪位指点一下 谢谢 jdk1.5

解决方案 »

  1.   

    呵呵,忘记你在用1.5了public class Test {    public static void main(String args[]) {
            System.out.println("short range:" + Short.MAX_VALUE + " to "
                    + Short.MIN_VALUE);
            System.out.println("Integer range:" + Integer.MAX_VALUE + " to "
                    + Integer.MIN_VALUE);
            System.out.println("Long range:" + Long.MAX_VALUE + " to "
                    + Long.MIN_VALUE);
            System.out.println("Byte range:" + Byte.MAX_VALUE + " to "
                    + Byte.MIN_VALUE);
            System.out.println("Float range:" + Float.MAX_VALUE + " to "
                    + Float.MIN_VALUE);
            System.out.println("Double range:" + Double.MAX_VALUE + " to "
                    + Double.MIN_VALUE);
        }
    }
      

  2.   

    楼上的, 凭什么骂人是猪??
    我刚查了, JDK 1.5里面有printf()方法了.
    不过具体用法我也还没搞太清楚. -_!!
      

  3.   

    所以后来我加了一句。哈哈
    %f,
    %d
    %l
    好象C是这样的。哈哈。你没有看我得呢称啊。
      

  4.   

    on: d != java.lang.Float没看API就知道,有个%f,哎,现在的孩子啊。
      

  5.   

    谢谢,用println可以成功, 但是用printf的方法为什么不行呢?请告知。是要导入 java.lang.float吗?
    ps:个性和名称很配哦。。  :)