我是Java的初学者,正在编写程序,我希望用户为String变量wordEntered输入的内容具有连字符以分隔字母,但减少了每行后的字符数。
例如wordEntered =“婴儿”;
所需的输出:
B-a-b-y
B-a-b
B-a
B
目前,这就是我的代码的样子,
for (int i =0 ; i<wordEntered.length(); i++) {
if (i < wordEntered.length()-1)
System.out.print(wordEntered.charAt (i) +"-");
else
System.out.println(wordEntered.charAt (i));
}
我已经尝试了好几天了,甚至无法接近。请帮我。
最佳答案
您需要有一个嵌套的for循环才能执行此操作:
for (int j = wordEntered.length(); j > 0; j--) {
for (int i = 0; i < j; i++) {
if (i < j - 1)
System.out.print(wordEntered.charAt(i) + "-");
else
System.out.println(wordEntered.charAt(i));
}
System.out.print(StringUtils.repeat(" ", wordEntered.length() - j + 1));
}
注意,外部循环从单词的长度变为0。此外,我使用了
StringUtils.repeat
。如果您不能使用它,则可以编写一个简单的循环来打印那么多空格。关于java - 如何在for循环中添加连字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49783603/