[英]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.