您好,我正在尝试创建一个从用户菜单调用的排序方法..java



我试图创建一个从用户菜单(开关循环)调用的排序方法,然后选择实现布尔参数(true = 升序,flase = 降序)。 我对布尔方面感到困惑

Sorting method:
    // Select ascending sort or descending sort based on 
    // passed boolean parameter
//-------------------------------------------------------------------------
public void sortStringArray(){
    //      boolean updown = false;

            System.out.println("Before Sorting: ");
            for(String string : list) {
                System.out.println(string);
            }
            Arrays.sort(list);
            System.out.println("Ascending Sort of String Array, A to Z: ");
                for (String string : list) {
                    System.out.println(string);
                }
                Arrays.sort(list, Collections.reverseOrder());
            System.out.println("Descending Sort of String Array, Z to A: ");
            for (String string : list) {
                    System.out.println(string);
            }
        }

您应该将布尔值作为方法的参数。所以代替:

public void sortStringArray()

它将是:

public void sortStringArray(boolean ascending)

然后,您可以对照ascending进行检查,以确定对其进行排序的方式。

在最简单的实现中,它应该像这样工作:

public void sortStringArray(boolean updown){
        System.out.println("Before Sorting: ");
        print();
        if(updown){
            Arrays.sort(list);
            System.out.println("Ascending Sort of String Array, A to Z: ");  
        } else {
            Arrays.sort(list, Collections.reverseOrder());
            System.out.println("Descending Sort of String Array, Z to A: ");
        }
        print();  
    }
private void print(){
   for (String value: list) {
      System.out.println(value);
   }
}

你为什么不使用if语句呢?

例如:

boolean check = true;
if (check) {
    Arrays.sort(list);
    System.out.println("Ascending Sort of String Array, A to Z: ");
    for (String string : list) {
        System.out.println(string);
    }
} else {
    Arrays.sort(list, Collections.reverseOrder());
    System.out.println("Descending Sort of String Array, Z to A: ");
    for (String string : list) {
        System.out.println(string);
    }
}

最新更新