【发布时间】:2016-02-21 03:47:10
【问题描述】:
我试图将以下 C 代码转换为 Java。这样做时我遇到了以下异常。我在这里做错了什么?请指教。
Exception in thread "main" java.util.IllegalFormatConversionException: x != java.lang.String
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.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at com.kube.rfidscannertest.MainScannerTest.printEpc(MainScannerTest.java:68)
at com.kube.rfidscannertest.MainScannerTest.main(MainScannerTest.java:42)
下面是 C 代码。
printf("%04X", (((epc[i] & 0xFF00) >> 8) | ((epc[i] & 0xFF) << 8)));
以下是我尝试将其转换为 Java 的方式。
String.format("%04X ", Integer.toHexString((((data[i] & 0xFF00) >> 8) | ((data[i] & 0xFF) << 8))).replace(' ', '0')).concat(strData);
请注意,epc 和 data 是整数数组。
【问题讨论】:
标签: java c string exception hex