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