试图了解一个java函数参数

时间:2014-04-21 22:11:20

标签: 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 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;
    }

任何时候我尝试在现场放入某种数组或值,例如

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?

这是什么意思?他希望我把它放在那里?

3 个答案:

答案 0 :(得分:0)

words[0]不再是String [](字符串数组)。这只是一个字符串。 Java允许方法具有相同的名称并接受不同的参数 - 称为重载。该方法需要一个字符串数组,因此请关闭[0],然后您将继续实施该方法。

findwords(“apple”,{“apple”,“banana”,“cookie”});

答案 1 :(得分:0)

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

使用findWord("Hello",words[0])不起作用,因为当方法或函数需要words[0]整个数组调用{{1}时,您只提供一个字符串words }}。

试试这个“

words

注意:您需要修改方法findWord("apples", words); ,因为它目前始终会返回findWord(String s,String[] words)

false

答案 2 :(得分:0)

你的功能

findWord(String s, String[] arr)

需要一个String作为第一个参数,一个字符串数组作为第二个参数。

根据您的Porblem,它应该是:

findWord(words[i],words);

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