我正在学习Android和Java,并遇到了问题。
我有一个简单的方法可以重新输入我输入的文字:
public String ReverseIt(String strToReverse){
String reversed = "";
for (int i = strToReverse.length(); i > 0; i--){
reversed += strToReverse.charAt(i);
}
return reversed;
};
我在Swithc Controls事件中调用此方法OnCheckedChangeListener:
private CompoundButton.OnCheckedChangeListener onReverseSwtichToggleChanged = new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(!nameEditText.getText().toString().equals("")){
String nameInReversed = ReverseIt(nameEditText.getText().toString()) ;
nameTextView.setText(nameInReversed);
}
else
nameTextView.setText("the EditText is empty");
}
};
出于某种原因,我在方法ReverseIt中的反转变量上遇到异常/错误。
错误是: revers =无法找到局部变量'reverse'
我做错了什么?
答案 0 :(得分:3)
使用它来反转字符串:
str = new StringBuilder(str).reverse().toString();
我知道没有直接回答你的问题,但是你不应该重写java库免费提供的方法。
答案 1 :(得分:3)
编译对我来说很好但是你需要改变你的for循环看起来像这样:
for (int i = strToReverse.length()-1; i>=0; i--){
reversed += strToReverse.charAt(i);
}