我的老师分配了一个问题,现在是:
编写一个将单词输入数组的程序。当输入两次单词时,程序将停止。使用以下方法:
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?
这是什么意思?他希望我把它放在那里?
答案 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,那么当前单词在单词中找到,您的程序应该终止。