Java--如何将1个数组与1个字符串进行比较?

时间:2012-03-16 01:52:50

标签: java

好的,我有这个代码的和平

并且在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.希望这个帮助

3 个答案:

答案 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 ....