Java “我对”有问题;错误'';“预期”;

Java “我对”有问题;错误'';“预期”;,java,Java,我对这个代码有问题。控制台向我显示此错误,我无法找出它。“第7行的file.java:错误:”;“应为” int邻接元素产品(int[]输入阵列){ int numberofElements=inputArray.length(); int[]产品=新的int[numberofElements]; 对于(int firstNumber=0;numberofElements>firstNumber;firstNumber++){ 产品[firstNumber]=产品(输入阵列[firstNumbe

我对这个代码有问题。控制台向我显示此错误,我无法找出它。“第7行的file.java:错误:”;“应为”

int邻接元素产品(int[]输入阵列){
int numberofElements=inputArray.length();
int[]产品=新的int[numberofElements];
对于(int firstNumber=0;numberofElements>firstNumber;firstNumber++){
产品[firstNumber]=产品(输入阵列[firstNumber],输入阵列[1+firstNumber]);
};
int最大值(){
int x=产品[0];
对于(int i=1;ix){
x=产品[i];
}
}
返回x;
}
返回最大值;
}
如果有人能帮我,我会非常感激。
谢谢。

函数
maxValue
是在
adjacentElementsProduct
中定义的,您要在
adjacentElementsProduct
方法中声明方法
maxValue
,若要更改此函数,您需要将其提取并使其接受一个数组并返回具有最大值的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;
}
int-maxValue(int[]产品){
int x=产品[0];
对于(int i=1;ix){
x=产品[i];
}
}
返回x;
}
该方法不会验证输入数组的长度,因此您需要将其考虑在内


最后将其用作
返回最大值(产品)

代码格式不正确,因为您在方法
邻接元素产品
的内部有一个方法
maxValue

应该是这样的:

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;
}
int邻接元素产品(int[]输入阵列){
int numberofElements=inputArray.length();
int[]产品=新的int[numberofElements];
对于(int firstNumber=0;numberofElements>firstNumber;firstNumber++){
产品[firstNumber]=产品(输入阵列[firstNumber],输入阵列[1+firstNumber]);
}
返回最大值;
}
int最大值(){
int x=产品[0];
对于(int i=1;ix){
x=产品[i];
}
}
返回x;
}
此外,在关闭for循环之后,在声明maxValue方法之前,还有一个额外的/无用的分号


希望这有助于把每个人的评论用语言表达出来。数组使用数据字段访问长度,因为它不是您不使用的方法()

下一件事是for循环在最后一个括号的末尾有一个分号,这可以防止它发生。所以把它拿出来

接下来,您不能在另一个方法中声明一个方法。在这个方法外编写第二个方法,然后在另一个方法内调用它

接下来,您不能像以前那样调用方法nextValue。即使你不能把它放在那里叫它,你也必须这样叫它:

你所做的:

return maxValue;
你应该做什么:

/*something*/.nextValue();

解决这些问题,你应该摆脱错误

这里有很多问题。数组没有
length()
方法,但有
length
字段。您正在其他方法中声明方法(在Java中不能这样做)。在
AdjaceElementsProduct
方法中,您正在返回未定义的
maxValue
变量,如果要返回
maxValue
方法的结果,需要将其写入
return maxValue()(大多数方法是用来处理一些参数的,如果没有参数,至少可以通过
()
)来显示)。在
maxValue
内部,您试图访问
products[0]
,但在任何地方都没有定义
products
数组。也没有
产品
方法。我是一个初学者,所以我才意识到我不能将方法放入方法中。你的评论对我帮助很大。谢谢D.@Thang Nguyen另外,您的代码有几个问题。Product是在AdjaceEntlementsProduct方法中声明的数组,方法maxValue无权访问它,因此它必须接受它作为参数。此外,长度是数组的一个属性,而不是一个方法,所以它应该被称为inputArray.length;最后,您对maxValue函数的调用也不正常,应该将其调用为return maxValue();(当然,如果您真的想在return语句中调用它)
return maxValue;
/*something*/.nextValue();