我有一个像
这样的字符串String [] toppings = {“1234”,“56789”,“123456”};
对于每个浇头元素我需要检查长度,如果它小于9,我需要在末尾添加零。
例如,考虑数组的第一个元素,它是1234。 它的长度是4,所以我需要在末尾添加5个零,看起来像“123400000”。类似地,我需要对浇头中存在的所有元素进行此操作。
最后,我需要将浇头中存在的所有vale连接到一个字符串。意味着我的输出必须看起来像 字符串x =“123400000567890000123456000”。
有什么建议吗?
谢谢,
答案 0 :(得分:2)
遍历所有项目,右键然后打印它们。在Java 8中:
toppings.stream.map(s -> String.format("%-09d", s)).collect(Collectors.joining());
// ^ ^ ^
// Use the stream API Right-pad with 0 Munge them all into a single string.
答案 1 :(得分:1)
试试这个。
String x = Arrays.stream(toppings)
.map(s -> String.format("%-9s", s))
.collect(Collectors.joining())
.replaceAll(" ", "0");
答案 2 :(得分:0)
您可以使用.length()
来获取长度,然后只需添加" 0"到字符串直到达到9。
String[] toppings = {"1234", "56789", "123456"};
for (int q = 0; q < toppings.length; q++){
int length = toppings[q].length(); // # of digits
int maxlength = 9;
if (length<maxlength){ // only do this if it is below 9
for (int i = length; i < maxlength; i++){ // go through and add 0's
toppings[q] = toppings[q] + "0";
}
}
}
String mix = "";
for (int q = 0; q < toppings.length; q++){ // add all the strings to one single string
mix+=toppings[q];
}
System.out.println(mix);
返回:
123400000567890000123456000