我想知道是否可以将字符串数组值与字符串进行比较,例如;我有一个String数组,上面有5个值。 String [] sampleArray = {"a","b","a","b","a"}
,并且我想知道哪个索引值具有a
或b
。我想到了一个主意,但这没用。
String[] sampleArray = {"a","b","a","b","a"};
String value;
for (int i=0; i <= sampleArray.length; i++){
if ( sampleArray[i].equals("a") ) {
value = "apple";
} else {
value = "ball";
}
System.out.println(value);
}
基本上,如果index 0
是a
,则应该打印“ Apple”,如果是b
,则应该打印“ ball”,依此类推。有什么想法将值或字符串数组与字符串进行比较吗?
答案 0 :(得分:2)
如果收到您的问题,您正在尝试查看sampleArray[0]
是否等于“ a”。
您的代码确实比较了数组的第一个索引,但是没有保留比较结果。
原因是您的变量value
会更改每个循环。最后,我想您是在控制台中得到的:
apple
但是您的value
变量的此值是最后一个索引sampleArray[4]
和“ a”的比较结果。
在您的代码中,value
的值在下一次比较时在每个循环中都被擦除,最后,您仅获得最后一个值。
如果您想获得类似
的结果apple
ball
apple
ball
apple
您需要像这样在每个循环中打印结果:
for (int i=0; i < sampleArray.length; i++){
if ( sampleArray[i].equals("a") ) {
System.out.println("apple");
} else {
System.out.println("ball");
}
}
请注意此处,sampleArray.length
等于5,但是大多数编程语言中的索引从 0到length-1 。
因此i <= sampleArray.length
可能会抛出ArrayIndexOutOfBoundsException
希望它能回答您的问题。