java占位符对应的类型

java占位符对应的类型

今天我在练习数据结构的时候报了这样一个错误,

Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.String
	at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
	at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
	at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
	at java.util.Formatter.format(Formatter.java:2520)
	at java.util.Formatter.format(Formatter.java:2455)
	at java.lang.String.format(String.java:2940)
	at cn.leoeric.mymethod.RoomFriends.toString(RoomFriends.java:17)
	at java.lang.String.valueOf(String.java:2994)
	at java.lang.StringBuilder.append(StringBuilder.java:131)
	at cn.leoeric.mymethod.Array01.toString(Array01.java:156)
	at java.lang.String.valueOf(String.java:2994)
	at java.io.PrintStream.println(PrintStream.java:821)
	at cn.leoeric.mymethod.MyTest.main(MyTest.java:15)

然后我就查资料,原来是我在写占位符时候,把要传的参数和占位符的类型写错了,如下

	private int bedCode;
    private String name;

    public RoomFriends(int code, String name) {
        bedCode = code;
        this.name = name;
    }

    @Override
    public String toString() {
        return String.format("RoomFriends(code: %s,name: %d)",bedCode,name);
    }

原来是类型的问题,我这里把占位符的类型写错了,然后改回来就好了

改好的代码如下:

@Override
public String toString() {
    return String.format("RoomFriends(code: %d,name: %s)",bedCode,name);
}

附上占位符代表类型表:

转 换 符说 明示 例
%s字符串类型“mingrisoft”
%c字符类型‘m’
%b布尔类型true
%d整数类型(十进制)99
%x整数类型(十六进制)FF
%o整数类型(八进制)77
%f浮点类型99.99
%a十六进制浮点类型FF.35AE
%e指数类型9.38e+5
%g通用浮点类型(f和e类型中较短的)
%h散列码
%%百分比类型
%n换行符
%tx日期与时间类型(x代表不同的日期与时间转换符
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值