如何将字符串数组的内容与字符串进行比较

时间:2016-01-07 01:04:00

标签: java android if-statement random textview

如果if中的当前字符串为" Heads,那么TextView语句就会遇到麻烦。"

这是我目前的代码:

 if (myCoin = "Heads") {

                 ImageView img = (ImageView) findViewById(R.id.imageView);
                 img.setImageResource(R.mipmap.heads);

             }

" myCoin"是一个字符串的名称,其中包含单词" Heads"和" Tails。"

final String[] myCoin= {"Heads", "Tails"};

生成随机数时,TextView会根据数字显示其中一个单词。但是,由于(myCoin = "Heads")下的红线错误,我无法运行代码:

Incompatible Types.

Required: Java.Lang.String[]

Found: Java.Lang.String

如你所见,我的字符串 DOES 有方括号,所以我想知道我是否甚至可以在myCoin语句中使用if。< / p>

解决

5 个答案:

答案 0 :(得分:1)

问题a)

=是一项任务,您需要.equals

问题b)

myCoin是一个数组

如果你这样做

myCoin[0].equals ("Heads") 

永远是真的

答案 1 :(得分:1)

尝试最适合我 if(Arrays.asList(myCoin).contains(&#34; Heads&#34;))

答案 2 :(得分:0)

final String[] myCoin= {"Heads", "Tails"};

if (myCoin = "Heads") {
    ImageView img = (ImageView) findViewById(R.id.imageView);
    img.setImageResource(R.mipmap.heads);
 }

//----------------------------------------------------------

你的变量是数组。因此你的代码看起来像这样...... ff:

final String[] myCoin= {"Heads", "Tails"};

int randomNumber = Math.random(10)%2;

if (myCoin[randomNumber].equals("Heads")){ //when you are in string condition symbol must .equals instead '=' .
   ImageView img = (ImageView) findViewById(R.id.imageView);
   img.setImageResource(R.mipmap.heads);
 }

答案 3 :(得分:0)

myCoin是一个数组,所以它不能等于String。

你应该使用

if myCoin[random].equals("Heads") {
    // do something
}

答案 4 :(得分:0)

如果你想比较你必须使用的两个对象&#34; ==&#34;。

==相当于&#34;等于&#34;和=相当于&#34;设置等于&#34;

//This checks if A is equal to one
if (A == 1){  
     //This sets A equal to one
     A = 1;
}

另外,当你输入

时,你正试图检查整个数组
  if (myCoin == "Heads") {
  }

您应该通过向其中传递一个数字然后检查字符串是否相等来检查数组中的String。值得注意的是,在比较字符串时,您需要使用.equals()方法。下面的代码将检查数组中的第一项&#34; myCoin&#34;相当于&#34; Heads&#34;。

 if (myCoin[0].equals("Heads")){
 }

在==和.equals()方法here的差异之间有一个非常深入的解释。

相关问题