【问题标题】:How to properly use substring如何正确使用子字符串
【发布时间】:2016-02-16 23:38:21
【问题描述】:
public static String updatePartialword(String partial, String secretWord, char guess){
        char achar = secretWord.charAt(0);
        char bchar = secretWord.charAt(1);
        char cchar = secretWord.charAt(2);
        char dchar = secretWord.charAt(3);
        char echar = secretWord.charAt(4);

        if (achar == guess);{
                partial = guess + partial.substring(1,4);
        }if (bchar == guess);{
                partial = partial.substring(0)+ guess + partial.substring(2,4); 
        }if (cchar == guess);{
                partial = partial.substring(0,1)+ guess + partial.substring(3,4);
        }if (dchar == guess);{
                partial = partial.substring(0,2)+ guess + partial.substring(3); 
        }if (echar == guess);{
                partial = partial.substring(0,3)+ guess;        
        }

这是返回值,如“aaaa”,a 是输入的值。 partial 的初始值为“-----”。这有点像命运之轮。所以当用户输入“a”时,结果应该是“-a---”,谢谢。

输入你的猜测: 一种 字符 a 出现 1 次 你现在有 150 美元 一种 - - 你有两个选择: a) 猜一个字符 b) 购买角色 键入 a 或 b 一种 你选择猜一个字符 掷骰子 结果为0 输入你的猜测: n 字符 n 出现 1 次 你现在有 150 美元 一个 - - 你有两个选择: a) 猜一个字符 b) 购买角色 输入 a 或 b

【问题讨论】:

  • 这并没有像你想象的那样执行。删除 if 表达式后的 ;
  • 对参数进行任何修改并不是一个好的编程习惯。
  • @QuakeCore 因为它是一个字符串,所以不会造成任何伤害...,因此传递的字符串不会被更改...
  • @PetterFriberg 在这种情况下确实如此,但我说的是一般...

标签: java substring


【解决方案1】:

其他人已经回答了这个问题,但请记住你应该这样做

partial = guess + partial.substring(1,5);

因为您指定的结束位置不包含在子字符串中,所以使用您的代码它会得到位置 1-3。

【讨论】:

  • 输入你的猜测:一个字符 a 出现 1 次 你现在有 150 美元 a---- 你有两个选择:a) 猜一个字符 b) 买一个字符 输入 a 或 ba您选择猜测一个字符 掷骰子结果为 0 输入您的猜测:n 字符 n 出现 1 次 您现在有 150 美元 a----n--- 您有两个选择:a) 猜一个字符 b)购买角色类型 a 或 b 谁能解释我为什么会遇到这个问题?
猜你喜欢
  • 2015-05-21
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 2020-03-06
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多