-3

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

我有一个数组:

//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 {
    // ...
}
4

3 回答 3

0

v.getTitle()与从 中获取 title 元素的方式相同v,您需要使用类似的方法从数组中的 Data 元素中获取 title 值。

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

if ( v.getTitle().equals( hotel[3].getTitle() )) {
    // Your code                  -----------
} 

这样,您就可以测试这两个标题是否彼此相等。只需将 hotel[3] 视为任何其他类型的变量Data

于 2013-06-23T17:13:37.740 回答
0

首先,数组是从零开始的。 长度为 3 的数组的最大可索引元素为 2 - 任何更高的值,您都会得到ArrayIndexOutOfBoundsException.

二、这一行:

if (v.getTitle().equals(hotel[3] ? ??)

是不正确的,即使问号不存在也不起作用。原因是: hotel有一个类型Data,我们只能假设getTitle()返回一个String。你String没法比Data

你想要的是这样的:

if (v.getTitle().equals(hotel[2].getTitle())
于 2013-06-23T17:28:41.277 回答
-1

好的,您可以像这样创建一个 Void:

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

此循环检查多维数组是否包含字符串
如果这不是您想要的,那么您可以使用循环播放一点,它会正确地工作。或者只是告诉我,我会在你的问题不明确你没有真正指定你需要什么之间回答你

于 2013-06-23T17:43:49.553 回答