繁体   English   中英

如何用java中特定position处的字符替换一串点?

[英]How to replace a string of dots with a character at a specific position in java?

我目前正在学习 Java,其中一个练习是编写一种打印一行点(如…………)并将其中一个点替换为不同字符(如#)的方法. 该方法采用两个 int 值,第一个确定打印行的长度,第二个确定 # 所在的 position。 所以它应该看起来像这样取决于 int 值:....#......

到目前为止,这是我尝试过的。 我尝试使用 StringBuilder 以使用 .setCharAt,因为我认为我可以在什么索引处键入以用 # 符号替换字符串。 我知道我需要调整 position 变量以获得所需的 position,因为索引从零开始计数,但目前这无关紧要。 这听起来像是应该使用数组的事情,但是我们没有在课程中讨论 arrays,因此必须有一种不使用数组的方法来解决这个问题。

`

static int printSingleDot(int length, int position) {
        String line = ".";
        String linelength = line.repeat(length);
        StringBuilder dot = new StringBuilder(linelength);
        dot.setCharAt(position, '#');
        System.out.print(dot);
        return length + position;
    }

`

此方法返回计算出的字符串供以后使用。 实际上,我不知道 String#repeat(int) 方法,谢谢。

    static String printSingleDot(int length, int position) {

        if(length <= position) {
            return "#";
        }

        return new StringBuilder()
                .append(".".repeat(position))
                .append("#")
                .append(".".repeat(length - position - 1))
                .toString();

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM