繁体   English   中英

不能更改字符

[英]Can't change Char

当我尝试例如单击按钮A来更改单词中的char时。我想要在A上设置一个char并从(-)设置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);
}

我得到的错误如下:

类型字符串中的contains(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);
    }
}

字符!=字符
Char类具有等于的方法,但没有原始类型char

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

应该管用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM