【发布时间】:2021-09-05 06:26:28
【问题描述】:
我不知道为什么会出现此错误 我将该行中的“arr + 1”更改为“arr [0] + 1”,但仍然没有解决它,而是出现错误“将方法从int [] int更改为int int” 并忽略我没有调用该函数。
package Ds.Recursion;
public class practice1 {
public static void main(String[] args) {
}
static boolean sorted(int arr[],int n) {
if(n==1) {
return true;
}
//getting error in the next line
boolean restArray = sorted(arr+1,n-1);
return(arr[0]<arr[1] && restArray) ;
}
}
【问题讨论】:
-
当您在
sorted()中执行arr+1时,您期望会发生什么? Java 没有数组切片。 -
另外,这段代码应该做什么?请记住,Java 中存在命名约定,并且您绝对应该遵守它们:如果您的方法检查某个数组是否已排序,请将其命名为
isSorted,而不是sorted。遵循约定意味着当需要向人们寻求帮助时,您向他们展示的代码看起来与任何其他 Java 代码相同。所以请注意:类使用 CamelCase(类名中每个不同单词的大写字母),并且变量以其所扮演的角色命名,例如boolean restArray是一个布尔值,它不能是一个数组,所以这是一个坏名字。