java - 我的方法有什么问题?

标签 java arrays methods

我是 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 语句中,我想知道是否有人可以帮助我。

最佳答案

首先,在 Java 中,驼峰式方法名称是常见的做法。也就是说,

private static boolean Sort(double[] in) {

应该变成

private static boolean sort(double[] in) {

其次,return 语句用于从方法返回,因此您可能不想在每次检查后都返回。相反,你会想做这样的事情,

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 false;
            }
        }
    }
    return true;
}

如果序列中的下一个数字不大于它之前的值,则返回 false。然后如果它在没有被触发的情况下通过 for 循环,那么我们知道它们必须按升序排列,因此返回 true

关于java - 我的方法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487611/

相关文章:

java - 如何在我创建的目录中创建文本文件(Android外部存储)

java - 如何从 java http 请求读取 XML?

javascript - 找到两个数组的可用组合(排列?)

python - 在另一个 python 类中使用未绑定(bind)的方法

javascript - 使用按值删除元素的自定义方法扩展数组

c# - C#中从基类调用重写的方法

Java 哈希表在 'put' 期间用新 key 覆盖现有 key

java - 从 Spring 应用程序中的 jar 中读取 log4j.xml

java - 删除数组中的零的输出未按预期输出?

ios - 如何用另一个函数初始化一个类函数?