Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符串数组的内容与字符串进行比较_Java_Android_If Statement_Random_Textview - Fatal编程技术网

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

Java 如何将字符串数组的内容与字符串进行比较,java,android,if-statement,random,textview,Java,Android,If Statement,Random,Textview,如果TextView中的当前字符串为“Heads”,我在执行if语句时遇到问题 这是我当前的代码: if (myCoin = "Heads") { ImageView img = (ImageView) findViewById(R.id.imageView); img.setImageResource(R.mipmap.heads); } “myCoin”是包含单词“Heads”和“Tails

如果
TextView
中的当前字符串为“Heads”,我在执行
if
语句时遇到问题

这是我当前的代码:

 if (myCoin = "Heads") {

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

             }
“myCoin”是包含单词“Heads”和“Tails”的字符串的名称

生成随机数时,
TextView
会根据数字显示其中一个单词。但是,我无法运行代码,因为
(myCoin=“Heads”)
下面有一条蜿蜒的红线,上面写着:

Incompatible Types.

Required: Java.Lang.String[]

Found: Java.Lang.String
如您所见,我的字符串没有方括号,因此我想知道我是否可以在
if
语句中使用
myCoin

已解决

问题a)

=
是一项作业,您需要
.equals

问题b)

myCoin
是一个数组

如果你这样做

myCoin[0].equals ("Heads") 
这永远是真的

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

myCoin是一个数组,因此它不能等于字符串

你应该使用

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

如果要比较两个对象,必须使用“==”

==是“等于”的等效项,=是“设置等于”的等效项

此外,在放置

  if (myCoin == "Heads") {
  }
您应该通过向数组中传递一个数字,然后检查字符串是否相等来检查数组中的字符串。值得注意的是,在比较字符串时,您希望使用.equals()方法。下面的代码将检查数组中的第一项“myCoin”是否等同于“Heads”


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

试试最适合我的if(Arrays.asList(myCoin).contains(“Heads”)

myCoin的可能重复是一个
最终的
变量,测试myCoin[0]等于
Heads
将始终为真-您想做什么?myCoin是一个数组。。。你们想看看这个数组,你们已经定义为一个有正反面的数组,是否等于正反面?你们不能比较字符串和字符串数组。字符串包含在字符串数组中。
//This checks if A is equal to one
if (A == 1){  
     //This sets A equal to one
     A = 1;
}
  if (myCoin == "Heads") {
  }
 if (myCoin[0].equals("Heads")){
 }