试图理解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);