有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

您好,我正在尝试创建一个从用户菜单调用的排序方法。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);
            }

        }

共 (3) 个答案

  1. # 1 楼答案

    为什么不使用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);
        }
    }
    
  2. # 2 楼答案

    您应该将布尔值作为方法的参数。因此,不是:

    public void sortStringArray()
    

    它将是:

    public void sortStringArray(boolean ascending)
    

    然后,您可以对照ascending检查以确定排序方式

  3. # 3 楼答案

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

    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);
       }
    }