我对此代码有疑问。控制台向我显示此错误,我无法弄清楚。 "第7行的file.java:错误:';'预期"
int adjacentElementsProduct(int[] inputArray) {
int numberofElements = inputArray.length();
int [] products = new int [numberofElements];
for (int firstNumber = 0; numberofElements > firstNumber; firstNumber++) {
products [firstNumber] = product (inputArray [firstNumber], inputArray [1+firstNumber]);
};
int maxValue () {
int x = products [0];
for (int i = 1; i < products.length; i++) {
if (products [i] > x){
x = products [i];
}
}
return x;
}
return maxValue;
}
如果有人能帮助我,我真的很感激。 谢谢。
答案 0 :(得分:0)
函数maxValue
在adjacentElementsProduct
内定义。
答案 1 :(得分:0)
您在maxValue
方法中声明方法adjacentElementsProduct
,要更改它,您需要提取它并使其接受数组并返回带有最大值的int。
int maxValue (int[] products) {
int x = products [0];
for (int i = 1; i < products.length; i++) {
if (products [i] > x){
x = products [i];
}
}
return x;
}
该方法不会验证输入数组的长度,因此您需要将此考虑在内
最后将其用作return maxValue(products);
答案 2 :(得分:0)
代码格式不正确,因为方法maxValue
中有方法adjacentElementsProduct
。
应该是这样的:
int adjacentElementsProduct(int[] inputArray) {
int numberofElements = inputArray.length();
int [] products = new int [numberofElements];
for (int firstNumber = 0; numberofElements > firstNumber; firstNumber++) {
products [firstNumber] = product (inputArray [firstNumber], inputArray [1+firstNumber]);
}
return maxValue;
}
int maxValue () {
int x = products [0];
for (int i = 1; i < products.length; i++) {
if (products [i] > x){
x = products [i];
}
}
return x;
}
另外,在声明maxValue方法之前,在关闭for循环后,你有一个额外的/无用的分号
希望有所帮助
答案 3 :(得分:0)
将每个人的评论都写成文字。数组使用数据字段来访问长度,因为它不是您不使用的方法()。
array.length
接下来的事情是你的for循环在最后一个括号的末尾有一个分号,可以防止它发生。所以说出来。
接下来,您无法在另一个方法中声明方法。在此方法之外写入第二个方法,然后在另一个方法中调用它。
接下来你不能像你一样调用nextValue方法。即使你不能把它称之为它,你也必须这样称呼它:
你做了什么:
return maxValue;
你应该做什么:
/*something*/.nextValue();
修复这些问题,你应该摆脱错误。