有人可以告诉我这段代码有什么问题 - >如何在传入main之后打印出这个布尔值?代码是正确的但我不知道如何打印true或false。
编写程序接受一个双精度数组作为参数,如果列表按排序(非递减)顺序则返回true,否则返回false。
例如,如果名为list1和list2的数组分别存储{16.1,12.3,22.2,14.4}和{1.5,4.3,7.0,19.5,25.1,46.2},则调用isSorted(list1)和isSorted(list2)应该分别返回false和true。
假设数组至少有一个元素。单元素数组被认为是排序的。
this
主要方法:
public static boolean isSorted (int n, Scanner console)
{
double[]a= new double[(int) n];
for (int i=0; i< n;i++)
{
a[i]=console.nextInt();
}
for (int i=1; i<a.length;i++)
{
if (a[(n-1)]>a[n])
{
return false;
}
}
return true;
}
答案 0 :(得分:0)
您需要传入isSorted方法所需的int和Scanner参数。
System.out.println(isSorted(n, console));
答案 1 :(得分:0)
要打印结果,您需要使用System.out.println(isSorted(n, console));
。假设已定义n
和console
。
更新
第二个if condition
内的for loop
会在您尝试访问java.lang.ArrayIndexOutOfBoundsException
a[n]
时使用a[n-1]