String s =" polakshfUodfaasp[eorfjcnnxbxaxxakfaaheryo";
String[] s2 = {"5000","8000"};
System.out.println(String.format(s+"%s", s2));
控制台输出:
polakshfUodfaasp[eorfjcnnxbxaxxakfaaheryo5000
问题:为什么只显示5000?
注意:如果突然发现这个问题是重复的,那么只需将链接粘贴在评论中,不要投反对票。如果链接的内容给出了详尽的答案,那么我将删除我的问题。
在格式字符串中,我们按顺序指定如何转换数组的元素。您的行字面意思是“获取第一个元素并将其作为字符串输出”
家庭作业:
String.format将一个值数组作为第二个参数来替换%s源字符串中的几个(格式说明符 - 格式说明符)。你的 line 中只有一个
%s,它被数组中的第一个值替换,第二个值没有空间,额外的参数被忽略,顺便说一下,这是写在 javadoc 中的:%s尝试在原始模板中添加另一个。PS:在这里你可以看到格式化程序的语法