Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图理解java函数的参数_Java_Function_Parameters - Fatal编程技术网

试图理解java函数的参数

试图理解java函数的参数,java,function,parameters,Java,Function,Parameters,我的老师布置了一个问题,下面是: 编写一个将字输入数组的程序。当输入两次单词时,程序将停止。使用以下方法: static boolean findWord(String s, String[] arr) // return true if s is found in arr, false otherwise 输入完成后,程序将按排序顺序输出列表 我对函数的这个参数有点迷茫 String[] arr 它正在搜索哪种类型的参数输入。这是到目前为止我的代码 public static void

我的老师布置了一个问题,下面是:

编写一个将字输入数组的程序。当输入两次单词时,程序将停止。使用以下方法:

static boolean findWord(String s, String[] arr) 
// return true if s is found in arr, false otherwise
输入完成后,程序将按排序顺序输出列表

我对函数的这个参数有点迷茫

String[] arr
它正在搜索哪种类型的参数输入。这是到目前为止我的代码

public static void main (String[] args) {
        c = new Console ();

        String words[] = new String[50000];

        for(int i=0;i>-1;i++) {
            c.print("Input word: ");
            words[i]=c.readLine();

            findWord("apples",What goes here?);
        }
    }

    static boolean findWord(String s,String[] words) {
        return false;
    }
每当我尝试在spot中放入某种数组或值时,例如

findWord("Hello",words[0]) 
或者我得到了以下错误:

No applicable overload method named "findWord" was found in type E3_Q5. Perhaps you     wanted the overloaded version "boolean findWord(java.lang.String s,java.lang.String[] words);" instead?

这是什么意思?他要我在那里放什么?

单词[0]
不再是字符串[](字符串数组)。这只是一根绳子。Java允许方法具有相同的名称并接受不同的参数,这称为重载。不过,该方法需要一个字符串数组,所以去掉[0]之后,您就可以进一步实现该方法了


芬德沃兹(“苹果”、“苹果”、“香蕉”、“饼干”)

String[]arr
指的是
String
类型的数组

使用
findWord(“Hello”,words[0])
不起作用,因为当方法或函数需要
words
或调用
words
时,您只提供了一个字符串
words[0]

试试这个。”

注意:您需要修改您的方法
findWord(字符串s,字符串[]words)
,因为它当前总是返回
false

public static boolean findWord(String s, String[] words) {
    for(String word : words) {
            if (s.equals(word))
                return true;
    }

    return false;
}
你的职能

findWord(String s, String[] arr)
第一个参数需要一个字符串,第二个参数需要一个字符串数组

根据您的问题,应该是:

findWord(words[i],words);

其中words[i]是当前单词,words是所有单词。如果此函数返回true,那么当前单词将在words中找到,并且您的程序应该终止。

words[0]做什么?您的方法希望第二个参数是什么?我不知道。问我的老师。还有words[0]访问单词数组的0索引。
findWord
应该做什么?它需要做什么工作?我假设,它需要当前单词,如果在数组中找到该单词,数组位置将返回true或false。如果你不理解作业,你需要向老师要求澄清。你的方法是声明为
static boolean findWord(String s,String[]words){
。第二个参数的类型为
String[]
。您在
findWord(“Hello”,words[0])
中作为第二个参数传递的是什么?`什么是
word[0]
?`您能展示一个findWord(“apples”,X)示例吗?我想您指的是这个findWord(“apples”)“,单词);你说得对。我在底部添加了一个示例。祝你好运!for循环不是可以分为三部分吗?当我尝试时(字符串单词:单词)。我收到一个错位构造错误。@Unableto compile它被调用了,它非常好。此代码检查每个调用的整个重复数组。您应该会看到一些错误,因为没有使用参数
s
。您需要循环数组并搜索
s
。无论如何,发布所有代码都无助于解决问题OP learn。我只是复制并粘贴了一个旧方法,没有检查,我很抱歉。我修复了它。所以,我的代码编译后总是返回true,这是为什么?
findWord(words[i],words);