1

我正在尝试编写一种方法,该方法采用输入字符串,并在指定位置添加一个字符。inputString 有 42 个字符长,分为 7 个“列”,当用户给出输入时,该方法应该接受该输入并将“X”放在适当的位置。这是代码:

private String enterToken(String tokenSymbol, String inputString, int column){
   String columnEdit = inputString.substring(column*6-6,column*6); 

   String columnEdit1 = columnEdit.trim();
   String columnEdit2 = columnEdit1+tokenSymbol+"                 ";
   String columnEdit3 = columnEdit2.substring(0,6);
   String start = inputString.replace(inputString.substring(column*6-6,column*6),columnEdit3);
   System.out.println(start);
   return start;

 }

例如,当我给它一个 42 个空格的输入并给它一个第 2 列时,它给我一个输出

"X     X     X     X     X     X     X     "

而它应该给我一个喜欢

"      X                                   " 

有任何想法吗?

4

2 回答 2

1

您正在调用replace整个字符串,而不仅仅是要对其执行操作的子字符串。IEinputString.replace(...)

您需要拆分字符串,调用replace子字符串,然后将字符串连接在一起以返回。

于 2012-08-22T00:03:30.820 回答
0

这是一个解决方案:

private String enterToken(String tokenSymbol, String inputString, int column) {
    int colWidth = inputString.length() / 7;
    int tokenPos = (column-1) * colWidth;
    String inputStart = inputString.substring(0, tokenPos);
    String inputEnd = inputString.substring(tokenPos+1);
    return inputStart + tokenSymbol+inputEnd;
}
于 2012-08-22T00:16:35.090 回答