Java 在for循环之后如何返回true或false

Java 在for循环之后如何返回true或false,java,Java,我已经编写了一个代码,该代码对数组值进行排序。我的代码必须返回布尔值,但它并没有像我想象的或我想象的那样好 控制台说;“此方法必须返回布尔类型的结果” 这是我的密码 double array[] ={3.2,9.4,7.1,1,2,4.1,8.88}; // i j1 isItSort(array); wrtOut(array); } public static boolean isItSort(double

我已经编写了一个代码,该代码对数组值进行排序。我的代码必须返回布尔值,但它并没有像我想象的或我想象的那样好

控制台说;“此方法必须返回布尔类型的结果”

这是我的密码

    double array[] ={3.2,9.4,7.1,1,2,4.1,8.88};
    //                       i     j1
    isItSort(array);
    wrtOut(array);

}

public static boolean isItSort(double[] numbers)
{

    int j=0;
    int i;
    for(i = 0; i<numbers.length; i++)
    {
        for(j =i+1; j<numbers.length; j++)
        {
            for(int j1 = j; j1<numbers.length; j1++)
            {
                boolean check = numbers[i]<numbers[j1];
                if(check)
                {

                    double temp = numbers[j1];
                    numbers[j1]= numbers[i];
                    numbers[i] = temp;
                    return true;
                }
            }
        }

    }

}

public static void wrtOut(double[] numbers){

    for(int i=0; i<=numbers.length-1;i++ )
    {

        System.out.println(numbers[i]);

    }

}
double array[]={3.2,9.4,7.1,1,2,4.1,8.88};
//我是j1
isItSort(阵列);
wrtOut(阵列);
}
公共静态布尔值isItSort(双[]个数字)
{
int j=0;
int i;

对于(i=0;i这是因为您的方法中没有针对所有可能情况的返回值,例如,如果
check
从不
true
您当前代码没有返回任何值,您应该在方法末尾返回默认值,如下所示:

public static boolean isItSort(double[] numbers) {
...
    return false;
}

这是因为您的方法中没有针对所有可能情况的返回值,例如,如果
check
从不
true
您当前代码没有返回任何值,您应该在方法末尾返回默认值,如下所示:

public static boolean isItSort(double[] numbers) {
...
    return false;
}
isItSort()-仅for循环具有return语句。编译器不确定该方法是否会成功返回,因此给出错误。如果

布尔检查=数字[i] 不提供true。如果for循环结束而未在块下执行,则该方法将无法返回任何值

如果(检查) {

                double temp = numbers[j1];
                numbers[j1]= numbers[i];
                numbers[i] = temp;
                return true;
            }
因此,理想情况下,如果没有条件满足,则应返回false。因此,在方法末尾写入一个返回false。程序将运行。

isItSort()-只有for循环才有return语句。编译器不确定该方法是否会成功返回,因此给出错误。如果

布尔检查=数字[i] 不提供true。如果for循环结束而未在块下执行,则该方法将无法返回任何值

如果(检查) {

                double temp = numbers[j1];
                numbers[j1]= numbers[i];
                numbers[i] = temp;
                return true;
            }

因此,理想情况下,如果没有条件满足,则应返回false。因此,在方法末尾编写一个返回false。程序将运行。

如果if语句为true,则方法“isItSort”有一个布尔返回,并且您声明返回true,但并不总是满足条件,因此编译器会告诉您添加bool方法末尾的ean返回,例如:

    public static boolean isItSort(double[] numbers)
    {

        int j=0;
        int i;
        for(i = 0; i<numbers.length; i++)
        {
            for(j =i+1; j<numbers.length; j++)
            {
                for(int j1 = j; j1<numbers.length; j1++)
                {
                    boolean check = numbers[i]<numbers[j1];
                    if(check)
                    {

                        double temp = numbers[j1];
                        numbers[j1]= numbers[i];
                        numbers[i] = temp;
                        return true;
                    }
                }
            }
        }
       return true; <!-- you need to put appropriate return here -->
  }
public静态布尔值isItSort(双[]个数字)
{
int j=0;
int i;
对于(i=0;i
}

方法“isItSort”具有布尔返回,如果if语句为true,则声明返回true,但并不总是满足条件,因此编译器会告诉您在方法末尾添加布尔返回,例如:

    public static boolean isItSort(double[] numbers)
    {

        int j=0;
        int i;
        for(i = 0; i<numbers.length; i++)
        {
            for(j =i+1; j<numbers.length; j++)
            {
                for(int j1 = j; j1<numbers.length; j1++)
                {
                    boolean check = numbers[i]<numbers[j1];
                    if(check)
                    {

                        double temp = numbers[j1];
                        numbers[j1]= numbers[i];
                        numbers[i] = temp;
                        return true;
                    }
                }
            }
        }
       return true; <!-- you need to put appropriate return here -->
  }
public静态布尔值isItSort(双[]个数字)
{
int j=0;
int i;
对于(i=0;i
}

猜猜如果你将一个空的
double[]
传递给这个方法会发生什么。如果我添加一个空的return,它将毫无问题地工作(我知道).所以我不明白为什么我需要使用return语句,如果它能完美地与void一起工作。我不明白为什么人们会投反对票。你不是一个初学者吗?猜猜如果你将一个空的
double[]
传递给该方法会发生什么。如果我添加一个空的return,它将毫无问题地工作(我知道)。所以我不明白为什么我需要使用返回语句,如果它能完美地与void一起工作。我不明白为什么人们会投反对票。你曾经不是初学者吗?我不明白返回语句有什么作用,当我写的是假的还是真的时?对我来说,它似乎不有效。在void这种情况下使用它更好吗?如何合作使用void或boolean更有效?这里返回false是有意义的,因为如果我们达到它,这意味着检查一直都是false,结果是false。我不明白当我写false或true时,它返回那里做什么?对我来说,它似乎不有效。在void这种情况下使用它更好吗?如何才能更有效nt适用于使用void或boolean的用户?这里返回false是有意义的,因为如果我们达到它,这意味着检查一直是false,因此结果为false,void可能是比boolean更好的选择。(感谢完美的解释)@Júlio diascan void可能是比boolean更好的选择。(感谢完美的解释)@Júlio Dias