Java 在if语句中使用数组
我想为我的程序在条件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
//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
}
}
}