大家好我是Android的新手,我正在尝试开发和刽子手应用程序。我想用'__'替换字符,例如在“apple”的情况下我希望有类似“a_pl_”的东西。
我使用了edittext来获取字符串,并使用replace函数将字符串中的字符替换为'_',但它不起作用。我没有任何想法可以帮助我。
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
puztext = (EditText)findViewById(R.id.puztext);
words = getResources().getStringArray(R.array.puzzlewords);
Random rand = new Random();
puztext.setText(words[rand.nextInt(words.length)]);
String str = puztext.getText().toString();
str.replace(' ', '_');
puztext.setText(str);
}
答案 0 :(得分:1)
使用现有的字母进行替换。检查一下,输入中可能没有空格。
答案 1 :(得分:0)
假设阵列中填充了包含空格的单词,则替换(''' _')调用实际上应该替换带下划线的那些。
那里有空位吗?显然,我认为你不打算只替换空格而是替换单词中的某些字符,以便进行混淆。
答案 2 :(得分:0)
请试试这个;
String str = puztext.getText().toString();
for(int i = 0; i <(any size you want); i++){
int randomChar = rand.nextInt(str.length());
str.replace(str.subString(randomChar, randomChar +1 ), '_');
}
我认为这就是你想要的算法。
答案 3 :(得分:0)
参考你对我的回应的评论 你说
我得到的只是字符串本身,就像苹果的回归一样 苹果。没有字符替换为'_'
-
修复您在评论中提到的问题,您需要替换此行
str.replace(' ', '_');
由此
str = str.replace(' ', '_');
这将替换。
这不是你的主要问题,你需要通过选择一些随机字符并用_替换它们来为你的应用程序添加一个逻辑 并将这些字符存储在某个数组中以查看用户是否做出了正确的选择