簡體   English   中英

如何將args按升序排序?

[英]How do I sort args into ascending order?

我正在嘗試將“args”按升序排序,我錯過了什么? 每當我在命令行中放置隨機參數時,前兩個參數都會起作用,我會得到一個數組和一個字符串。 但是,在第三個中,我希望將數組按升序排序。 輸入始終為 0。

我也嘗試創建自己的算法,但它不起作用。

import java.util.Arrays;

public class tri {

public static void main (String[] args) 
{
    if (args.length < 3) {
        System.out.println("Re-execute with at least 3 arguments");
        System.exit(-1);
    }

    System.out.println("\n Printing as an array:");

    for (int i=0; i < args.length; i++)     //print each word 
        System.out.println(args[i]);

    String str = "";

    for (int i=0; i < args.length; i++) 
        str = str + args[i] + " ";          //concatenate into a string

    System.out.println("\n Printing as a string:");

    System.out.println(str);                //print the string


    System.out.println("\n Printing after sorting:");


     int [] sorted = new int[args.length];
     Arrays.sort(sorted);                   //sort the sorted array
     System.out.println(Arrays.toString(sorted));

    /*for (int i=0; i < args.length - 1; i++)  {
        System.out.print(args[i] + " ");  
    }*/
}
}

輸出:

Printing as an array:
ball
cat
ship

Printing as a string;
ball cat ship

Printing after sorting;
[0, 0, 0]

我很確定這就是你想要做的:

import java.util.Arrays;

public class Tri {
    public static void main(String[] args) {
        Arrays.sort(args);
        System.out.println(Arrays.toString(args));
    }
}

作為程序參數,我輸入了"abc" "efg" "abz" ,輸出是

[abc, abz, efg]

Process finished with exit code 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM