简体   繁体   English

在数组上调用indexOf时无法解析为类型

[英]indexOf cannot be resolved to a type when called on an array

The nums.indexOf keeps getting an error that states nums.indexOf不断出现错误,指出

indexOf cannot be resolved or is not a field. indexOf无法解析或不是字段。

Am I supposed to import something? 我应该进口什么吗? I have already imported java.util.* ; 我已经导入了java.util.* ;

public static int search(int[] nums)
{
    Scanner keyboard = new Scanner(System.in);
    System.out.println("What value do you want?");
    int value = keyboard.nextInt();
    for(int i = 0; i < nums.length; i++)
    {
        if(nums.indexOf[i] == value)
            return value;
        else 
            return "Value is not in the list";
    }
}

An array does not have a method 'indexOf'. 数组没有方法'indexOf'。

Use it like this: 像这样使用它:

if(nums[i] == value)

Sidenote: use braces ( {} ) around your if-else statements. 旁注:在if-else语句周围使用花括号( {} )。 It's not mandatory but it is definitely advised to avoid problems in the future. 它不是强制性的,但绝对建议您避免将来出现问题。

Arrays don't have indexOf() method. 数组没有indexOf()方法。 Also instead of looping on the array you can use 另外,您可以使用循环而不是在数组上循环

Arrays.asList(nums).contains(i);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM