好的,我有这个代码的和平
并且在if内有这个
while (true) {
if (stringarray[1][a].equals(string2)) {
STUFF
}
a++
问题是(stringarray [1] [a] .equals(string2))不起作用,我不知道为什么,或者我该如何解决它。因为我可以做arraystuff [0] [a] ==变量但是它不适用于字符串,我做错了什么?它是整数,或双精度。谢谢你的帮助
编辑:好的,所以这是原始的(是的,数组有117个不同的值) 数组(String定义的数组(String stringarray [] [] = new String [2] [117]) a(整数,从0开始)String string = new String(“”)String string2 = new String(“”)
string = stdIn.readLine();
while (true) {
if (stringarray[0][a].equals(string)) {
break;
}
a++;
if (a == 118) {
break;
}
}
}
如果我要放一个System.out.println(a) 即使“字符串”中的文本正确且它应该在
之前很久就停止了,因此a将为118但是,如果while / if是一个数值(例2)代码可以工作并显示数字
while (true) {
if (intarray[0][a]==(randominteger)) {
break;
}
a++;
if (a == 118) {
break;
}
}
}
那就是我要搜索的号码。 例如,如果在第一个代码中我输入文本hi,而文本hi在数字[0] [15]中则a将是15,但它不会发生,在代码2中如果我输入482并且数字在[ 0] [34627]然后a真的是34627.希望这个帮助
答案 0 :(得分:2)
好equals
应该有效,但它区分大小写。如果情况不敏感,请尝试equalsIgnoreCase
。
此外,我想知道您是否必须仅使用索引0,那么为什么要创建String [2][117]
。您可以轻松创建String stringarray [] = new String [117]
。仅当您完全不使用索引1时才会这样。
答案 1 :(得分:1)
String txt1 = "abc";
String txt2 = "ABC";
if(txt1.compareTo(txt2)==0)
System.out.println("Equal and same case");
else if(txt1.compareToIgnoreCase(txt2)==0)
System.out.println("Equal but may not be same case");
else
System.out.println("Not equal");
希望这会有所帮助
答案 2 :(得分:1)
请提供有关字符串数组的更多详细信息。 此外,如果你将数组定义为:String stringarray [] [] = new String [2] [117],怎么可能是118?当a为117时,它应抛出OutOfBoundsException ....