{php}
$array = explode(' ', $string);
$result = implode(' ', array_merge(array_splice($array, 0, 4), [$keyword], $array));
{/php}
我想这样显示数字(1234)
public static void verticalNumber(int n) {
while (n > 0) {
n /= 10;
System.out.printf("%d\n", n % 10);
}
System.out.printf("\n");
}
public static void main(String[] args) {
verticalNumber(1234);
}
答案 0 :(得分:1)
您正在朝正确的方向前进。但是,如果您在打印前进行n/=10
,则已经丢失了最后一位(1234
将变为123
),而下一行将打印3
。
如果同时翻转两行,则将垂直打印它。但是,它将是颠倒的。然后,您可以旋转显示器以正确的顺序观看(开个玩笑)。
我能想到的最简单的方法是将n%10
结果放入列表中,然后添加另一个循环以反向打印它。
答案 1 :(得分:0)
创建一个列表,当ur的数字不为0时;向其添加数字mod 10,数字变为div 10的数字,最终,您将拥有一个按以下顺序包含ur的列表4,3,2,1,从列表的大小开始使用boocle,然后转到0以显示其内容
答案 2 :(得分:0)
n/=10
需要跟随printf。
或者,您可以执行以下操作:
String.valueOf(n).chars().mapToObj(Character::toString).forEach(System.out::println);
// If you need the extra newlines:
String.valueOf(n).chars().mapToObj(Character::toString).map(c->c+"\n").forEach(System.out::println);
答案 3 :(得分:0)
最简单的方法,恕我直言,是将其转换为String
,将String
转换为单字符Strings
,然后转换这些数字(如Strings
)返回到ints
并将它们存储在Array
中。像这样:
public static void verticalNumber(int n) {
int[] nums = Arrays.stream(Integer.toString(n).split(""))
.mapToInt(s -> Integer.parseInt(s))
.toArray();
for (int num: nums) {
System.out.println(num);
}
}
所以:
1234
成为"1234"
"1234"
成为["1", "2", "3" "4"]
["1", "2", "3" "4"]
成为[1, 2, 3, 4]