首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >方法未返回所需的值

方法未返回所需的值
EN

Stack Overflow用户
提问于 2012-08-22 07:49:09
回答 2查看 89关注 0票数 1

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

代码语言:javascript
运行
复制
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,它给我的输出是

代码语言:javascript
运行
复制
"X     X     X     X     X     X     X     "

而它应该给我一个像这样的

代码语言:javascript
运行
复制
"      X                                   " 

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-22 08:16:35

这里有一个解决方案:

代码语言:javascript
运行
复制
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;
}
票数 0
EN

Stack Overflow用户

发布于 2012-08-22 08:03:31

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12064625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档