Java:找不到局部变量(在方法内)

时间:2013-06-07 14:22:35

标签: java android

我正在学习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'

我做错了什么?

2 个答案:

答案 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);
}