繁体   English   中英

如何在不使用导入语句的情况下从 Arrays class 调用方法?

[英]How to call a method from the Arrays class without using an import statement?

我尝试在不使用导入语句的情况下从 Arrays class 调用此方法:您能告诉我有什么问题吗?

//import java.util.Scanner;

class ArraySorting {
    /**
     * @param array unordered sequence of strings
     * @return ordered array of strings
     */
    public static String[] sortArray(String[] array) {
        // write your code here
        java.util.Arrays.sort  input = new  java.util.Arrays.sort(System.in);
        String string = input.next();
        String[] str = string.split(" ");
        java.util.Arrays.sort (array);
        System.out.println(string.toString(array));
    }
      return (array);
    }
    public static void main(String[] args) {
        sortArray();
    }
}

非常感谢

对数组进行排序的方法应该从冗余代码中清除,并且必须像这样简单:

public static String[] sortArray(String[] array) {
    java.util.Arrays.sort (array);
    System.out.println(java.util.Arrays.toString(array));
    return array;
}

接下来,必须重写测试以读取一行,将要使用 sortArray 排序的字符串拆分为sortArray

public static void main(String ... args) {
    java.util.Scanner input = new java.util.Scanner(System.in);
    String string = input.nextLine(); // read entire line not a single token
    String[] str = string.split(" ");
    System.out.println("before sort: " + java.util.Arrays.toString(str));
    String[] sorted = sortArray(str);
    System.out.println("str: " + java.util.Arrays.toString(str));
    System.out.println("sorted: " + java.util.Arrays.toString(str));
}

在线演示

before sort: [abc, aad, 0123, 456, zxy, aabc]
[0123, 456, aabc, aad, abc, zxy]
str: [0123, 456, aabc, aad, abc, zxy]
sorted: [0123, 456, aabc, aad, abc, zxy]

注意: Arrays.sort修改了它的输入数组,所以实际上方法sortArray可能是void

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM