尝试在没有(@和哈希码)的情况下显示消息,但此错误出现"non static variable this cannot be referenced from a static context"



我想通过转换为字符串来显示字符阵列的答案,但是tostring方法用@和HashCode将其打印,因此我覆盖tostring方法,但仍无法显示它那。

public void func(View view)
{
    EditText textfield=(EditText) findViewById(R.id.input);
    String msg =textfield.getText().toString();
    HashMap<Character,Character> mapping=new HashMap<Character,Character>();
    mapping.put('a','.');
    mapping.put('b',',');
    mapping.put('c','p');
    mapping.put('d','q');
    mapping.put('e','g');
    mapping.put('f','7');
    mapping.put('g','0');
    mapping.put('h','a');
    mapping.put('i','f');
    mapping.put('j','i');
    mapping.put('k','z');
    mapping.put('l','o');
    mapping.put('m','r');
    mapping.put('n','y');
    mapping.put('o','x');
    mapping.put('p','-');
    mapping.put('q','*');
    mapping.put('r','_');
    mapping.put('s','w');
    mapping.put('t','b');
    mapping.put('u','l');
    mapping.put('v','e');
    mapping.put('w','h');
    mapping.put('x','j');
    mapping.put('y','v');
    mapping.put('z','6');
    int len=msg.length();
    helper a=new helper();
    for(int i=0;i<len;i++)
    {
        if(msg.charAt(i)>=97&&msg.charAt(i)<=122)
           a.answer[i] = mapping.get(msg.charAt(i));
        else
        a.answer[i]=msg.charAt(i);
    }
    msg=a.toString();
    //now encoded string is ready
   TextView out=(TextView) findViewById(R.id.output);
    out.setText(msg);


}
class helper{
    public char[] answer;
     public String toString(){
         return " "+answer;
     }
}

从char数组do msg = new String(a.answer);

获得字符串

相关内容

最新更新