我是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/

10-11 21:04