Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用字节数组从String.format获取格式化字符串?格式化字符串的具体含义是什么?_Java_Bytearray_String Formatting - Fatal编程技术网

Java 如何使用字节数组从String.format获取格式化字符串?格式化字符串的具体含义是什么?

Java 如何使用字节数组从String.format获取格式化字符串?格式化字符串的具体含义是什么?,java,bytearray,string-formatting,Java,Bytearray,String Formatting,谁能给我解释一下步骤: 70-F1-A1-A1-DF-F5 String.format(“%02X%s”,mac[i],(i

谁能给我解释一下步骤:

70-F1-A1-A1-DF-F5
String.format(“%02X%s”,mac[i],(i
特别是字符串
%02X%s
是什么意思

%启动格式规范

0表示带零的左焊盘

2表示2位数宽

X表示十六进制输出

s表示字符串


所以我们要输出一个两位数的十六进制数,后跟一个字符串。我知道格式化程序javadoc有点密集,但这正是它的用途。

你能参考javadoc中讨论这一点的部分,并指出你在理解文本中有困难的内容吗?你是否尝试在谷歌上搜索各种格式说明符?请参阅
String.format
的文档以了解它们
X
表示
Hex
s
表示
String
。剩下的就交给你去理解了。@MarkoTopolnik我不明白如何从字节数组
mac
中得到一个字符串
70-F1-A1-A1-DF-F5
,它引用了语句
sb.append(…)
我想你的第三个语句是在for循环中吧?@saplingPro。。那么,问题是什么?for循环只是在数组上迭代,对于每个数组元素,您的target语句都会将包含该元素的格式化字符串附加到
StringBuilder
。我刚刚对此有了更多的了解——显然,尽管我不知道,如果格式化程序在用完后有更多的输出要做,它将开始重用格式化元素。因此,数组中的每个元素都会重复后面跟一个字符串的两位十六进制,最后的三元运算符只是确定要添加的字符串是破折号还是空字符串(所以我们在元素之间得到了破折号,之后什么都没有。我仍然希望数组中出现某种循环,不过——我不知道如何得到值,更不用说递增了。
70-F1-A1-A1-DF-F5
String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")