【发布时间】:2015-11-02 21:49:02
【问题描述】:
我对 Java 完全陌生,所以请原谅我在某些方面是个白痴。我应该编写一个静态方法isStrictlyIncreasing(double[] in),如果给定数组中的每个值都大于它之前的值,则返回true,否则返回false。另外,我不能使用java.util.ArrayList。
这是我的代码:
public static void main(String[] args) {
double in[] = new double[]{45, 15, 25, 79, 89, 45, 66, 33, 56, 105};
Sort(in);
System.out.println("Answer: " + Sort(in));
}
private static boolean Sort(double[] in) {
int n = in.length;
int temp = 0;
for(int i = 0; i < n; i++){
for(int j = 1; j < (n-i); j++){
if(in[j - 1] < in[j]){
return true;
}
return false;
}
}
不幸的是,我只是不断收到“真、真、真...答案:假”的列表
我知道我的方法有问题,可能在 if 语句中,想知道是否有人可以帮助我。
【问题讨论】:
-
您的内部 for 循环将始终只迭代一次。如果
return true不执行,return false将始终执行,因此结束循环。你想做什么? -
"不幸的是,我只是不断得到一个“真,真,真...答案:假””列表,这对于您发布的代码是不可能的,因为它不会甚至编译所以它不能运行并产生任何结果。请用最少但完整的示例更新您的问题,这将使我们重现您的问题。