我有一个代码
String a = et1.getText().toString();
int ad = 0;
for(int i =0 ; i<a.length(); i++){
if(a.charAt(i)== 'a'){
ad++;
}
}
Toast.makeText(MainActivity.this,
ad, Toast.LENGTH_LONG).show();
我gettext ok但我无法计算字符串中的字符'a'。你能救我吗?
由于
另一个,
如果我有String b = et2.getText()。toString(); ,b是特殊字符,我想在字符串中计数b。我该怎么做?
答案 0 :(得分:1)
因为你要向Toast.makeText()发送一个int,所以它正在查找资源id,而不是将int显示为字符串。
String a = "asjasuhuashu";
int ad = 0;
for(int i =0 ; i<a.length(); i++){
if(a.charAt(i)== 'a'){
ad++;
}
}
Toast.makeText(this,
ad + "", Toast.LENGTH_LONG).show();
根据塞尔文的建议编辑。
答案 1 :(得分:0)
您正在将整数广告作为toast参数传递,该参数将整数视为资源ID,请使用
Toast.makeText(MainActivity.this,
String.valueOf(ad), Toast.LENGTH_LONG).show();
这是另一种计算字符数的方法。
String s = "hghhaahghaa";
int count = s.length() - s.replaceAll("[aA]", "").length();
将以上字符'a'和'A'替换为您想要的字符。
如果您只想要字符'a',请将“[aA]”替换为“[a]”。