java - 在数组中搜索字符串

标签 java arrays methods

下面我尝试创建一个方法,该方法在数组中搜索某个字符串并返回它的位置,如果不存在则返回的数字应该是-1。下面我使用该方法搜索一个单词,即使该单词在数组中,它也会返回 -1。这是为什么?

    String answer = "";

    System.out.println("Enter word to search within array");
    answer = in.next();


       public static int search(String[] theWords, String answer) {
         int a = -1;
         for(int i = 0; i < theWords.length; i++) {
             if (answer.equals(theWords[i])){
                 a = i;
                 break;
             }
         } 
         return a;
     }

最佳答案

我看不出代码有什么问题,但我建议消除保存返回值的局部变量:

 public static int Search(String[] thewords, String answer) {
     for (int i = 0; i < thewords.length; i++) {
         if (answer.equals(thewords[i])){
             return i;
         }
     } 
     return -1;
 }

通过这种简化的逻辑,此代码中出现错误的可能性很小或根本没有。

<小时/>

我认为这是类(class)作业,并且不允许您使用库方法。如果允许,您的方法可以是一行:

return Arrays.asList(theWords).indexOf(answer);

关于java - 在数组中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16061849/

相关文章:

java - Android Studio 3.5.3 更新后在新项目的 XML 文件中创建奇怪的字符

java - java5 之前的版本 : Singleton pattern: Double checked Locking vs Static factory method

javascript - 如何通过引用查找数组元素以便将数组与 typescript 合并?

c - 如何使结构常量中的函数指针用于初始化常量数组?

基于 Python 类的装饰器,带有可以装饰方法或函数的参数

java - 如何使用 AES 将字符串加密为仅包含特定字符的字符串?

java - 在 Java 的输入数组中,如何找到相等值对的数量?

java - 在 Java 中处理 Not Acceptable 方法参数的最佳方法是什么?

python - 这些导入语句之间有什么区别?

java - 什么是NullPointerException,我该如何解决?