无法改变Char

时间:2014-11-21 10:31:26

标签: java android char

当我点击例如按钮A时,我想在我的单词中更改字符。我想在A上设置一个字符,并从( - )设置A更改我的位置。我在NetBeans中生成代码。

if(hadanka.contains(pismeno))
{
    for(int i=0;i!=hadanka.length();i++)
    if(pismeno.equals(Character.toString(hadanka.charAt(i))))
    {
        prepsani[i]=hadanka.charAt(i);

    }

    System.out.println(prepsani);;
}

一切都好。 Hadanka是一个猜测词,pismeno是我选择的字母。 当我在我的应用程序中使用它时,会发生Android错误。

这是我的Android代码:

char zvolenePismeno;
public void OnStart (View v)

{
    if(odpoved.contains(zvolenePismeno))
    {
        for(int i=0;i!=odpoved.length();i++)
        if(zvolenePismeno.equals(Character.toString(odpoved.charAt(i))))
        {
            prepsani[i]=odpoved.charAt(i);

        }
        labOdpoved.setText(String.valueOf(prepsani));
    }

}

public void OnA(View v)
{
    zvolenePismeno = 'A';
    kliknuti(btn_A);
}

我得到的错误如下:

  

方法包含(charsequence)类型字符串不适用   对于参数(char)

if(odpoved.contains(zvolenePismeno))行和

  

无法在基本类型char

上调用equals(String)

if(zvolenePismeno.equals(Character.toString(odpoved.charAt(i))))行。

更新1

它不起作用:/我在

上更改我的代码
 if(odpoved!=null)
         {
               for(int i=0;i!=odpoved.length();i++)
                    if(zvolenePismeno==odpoved.charAt(i))
                      {
                           prepsani[i]=odpoved.charAt(i);

                      } 
               labOdpoved.setText(String.valueOf(prepsani));
         }

这是我的整个代码(有错误)¨

public class MainActivity extends Activity implements OnClickListener {
    int lvl1;
    String[] Level1 = {"APPLE", "SAMSUNG", "NOKIA", "HTC"};
    String odpoved, pokus;
    char zvolenePismeno;

    public void OnStart(View v) {
        btnStart = (Button) findViewById(R.id.btnStart);
        labOdpoved = (TextView) findViewById(R.id.labOdpoved);
        Random rand = new Random();
        lvl1 = Math.abs(rand.nextInt() % 3);
        odpoved = Level1[lvl1];

        char[] prepsani = new char[odpoved.length()];
        for (int i = 0; i != odpoved.length(); i++) {
            prepsani[i] = '-';
        }
        labOdpoved.setText(String.valueOf(prepsani));
        if (odpoved.contains(zvolenePismeno)) {
            for (int i = 0; i != odpoved.length(); i++)
                if (zvolenePismeno.equals(Character.toString(odpoved.charAt(i)))) {
                    prepsani[i] = odpoved.charAt(i);
                }
            labOdpoved.setText(String.valueOf(prepsani));
        }
    }

    public void kliknuti(Button btn) {
        btn.setClickable(false);
        btn.setVisibility(View.INVISIBLE);
    }

    public void OnA(View v) {
        zvolenePismeno = 'A';
        btn_A = (Button) findViewById(R.id.btn_A);
        kliknuti(btn_A);
    }
}

1 个答案:

答案 0 :(得分:0)

char!= Char
 类字符的方法等于,但不是基本类型字符

if (odpoved!=null) 
 for(int i=0;i!=odpoved.length();i++) 
   if (zvolenePismeno==odpoved.charAt(i))

应该工作