Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 在if语句中使用数组_Java_Arrays_If Statement - Fatal编程技术网

Java 在if语句中使用数组

Java 在if语句中使用数组,java,arrays,if-statement,Java,Arrays,If Statement,我想为我的程序在条件if中使用数组,但我在实现它时遇到了问题 我有一个数组: //I want to put my condition in array column 3 (in title) Data[] hotel = { new Data(-6.8851995, 108.4978142, "Grage Sangkan Hotel & Spa", "Jl. Raya Sangkanhurip No.1 Desa Sangkanhurip

我想为我的程序在条件if中使用数组,但我在实现它时遇到了问题

我有一个数组:

//I want to put my condition in array column 3 (in title)
Data[] hotel = {
        new Data(-6.8851995, 108.4978142, "Grage Sangkan Hotel & Spa",
                "Jl. Raya Sangkanhurip No.1 Desa Sangkanhurip"),
        new Data(-6.879592, 108.513353, "Prima Hotel Sangkanhurip ",
                "Jl. Panawuwan No.121 Kec. Cigandamekar "),
        new Data(-6.883889, 108.500000, "Tirta Sanita Spa Resort ",
                "Jl.Panawuwan No.98 Kec.Cigandamekar")
}
我有一个条件:

//my condition equals array column 3 (in title)
if (v.getTitle().equals(hotel[3] ? ??)){  // in here I don't know what can I do 
    tempat = new Intent(Peta.this, KetWisata.class);
    // TODO Auto-generated method stub
    if (v.getTitle().contains("Wisata Cibulan")) {
        tampil = "wis_cibulan";
    }
    if (v.getTitle().contains("Linggarjati Indah")) {
        tampil = "wis_linggarjati";
    }
    if (v.getTitle().contains("Balong Dalem")) {
        tampil = "wis_balongdalem";
    }
} else {
    // ...
}
与使用v.getTitle从v中获取title元素的方法相同,您需要使用类似的方法从数组中的数据元素中获取title值

假设v也是数据类型,那么您要求的代码是

if ( v.getTitle().equals( hotel[3].getTitle() )) {
    // Your code                  -----------
} 
这样,您就可以测试这两个标题是否相等。只需将hotel[3]视为数据类型的任何其他变量即可。

首先,数组是基于零的。长度为3的数组的最大可索引元素为2—任何更高的元素,您都将获得ArrayIndexOutOfBoundsException

第二,这一行:

if (v.getTitle().equals(hotel[3] ? ??)
是不正确的,即使没有问号也不起作用。原因是: hotel有一种数据类型,我们只能假设getTitle返回一个字符串。不能将字符串与数据进行比较

你想要的是这样的:

if (v.getTitle().equals(hotel[2].getTitle())

好的,你可以创建一个类似这样的空洞:

class RandomStuffs {
public void ArrayEquals(ArrayList Array , string SearchData){
int I = 0;
int T = 0;
Boolean Continue = false;
for(I = 0;I < Array.length ; I ++){
for(T = 0;T <Array[i].length;T ++){
if(Array[I][T] == SearchData ){
Continue = true;
break;
}
}
if(Continue == true){
return true;
}else {
return false;
}
}
}
此循环检查多维数组是否包含字符串 如果这不是你想要的,那么你可以玩一点循环,它会正确地工作。 或者告诉我,我会回答你的
你的问题不清楚,你没有真正指定你需要什么

你想得到数组第三个元素的标题吗?您能显示数据类的代码吗?
Class Main {
public static void main(String args[]){
RandomStuffs Class = new RandomStuffs();
if(Class.ArrayEquals(hotel , "Wisata Subilian"){
//Code To Execute
}else {
//Error Handler Or Another Block
}
}
}