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")){
}