2
import java.util.*;
import java.lang.*;
import java.io.*;

public class ArrayUtilities {
  public static void main(String[] args) {

  }

  public static boolean linearSearch(int[] array, int target) {

    int i;
    for (i = 0; i < array.length; i++) {
      if (array.charAt(i) == target) {
        return true;
      }
      else {
        return false;
      }
    }
  }
}

我不知道为什么它不起作用。我在互联网上环顾四周,但大多数人似乎大多是打字错误,我认为我没有犯任何错误,如果我确实犯了错误,我似乎无法发现它。提前致谢 :)

编译器显示的错误是:

Can not find symbol. Symbol= method charAt(int)
4

5 回答 5

3

改变你的 if 条件

if (array[i]==target)

charAt(int value)函数不适用于 int 数组。它适用于字符串

在这里检查charAt()

于 2013-11-12T07:59:16.620 回答
1

你不能打电话

charAt(int index)

来自整数数组的方法。如果你想得到数组的第 i^th 元素,你可以简单地使用

array[i]
于 2013-11-12T08:00:41.067 回答
0

MethodcharAtString类的方法。int 数组 ( int[]) 不包含此类方法。这就是出现编译错误的原因。

于 2013-11-12T08:02:55.840 回答
0

charAt(..) 在为 int 类型定义的函数中

因此,如果条件如下改变,

 if (array[i]==target){
于 2013-11-12T08:00:02.187 回答
0

您试图在数组上调用 charAt 方法,该数组是一个 int 数组,而不是一个字符串。你需要 array[i] 而不是 array.charAt(i)

于 2013-11-12T08:00:11.360 回答