Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置命令行输入的条件以避免输出中的第一个值_Java_Arrays_Sorting - Fatal编程技术网

Java 如何设置命令行输入的条件以避免输出中的第一个值

Java 如何设置命令行输入的条件以避免输出中的第一个值,java,arrays,sorting,Java,Arrays,Sorting,我正在写一个程序,有两个条件“orgi”和“sort”。Orgi按插入顺序显示输入。排序按插入顺序以及按字母顺序显示输入 在我的代码的输出中,if条件“orgi”和“sort”也会显示出来。我如何解决这个问题 命令行输入为:排序“raam”“ram”“ravi” 替换此项: for (String s: args) 为此: for (int i = 1; i < args.length; i++) { System.out.println(args[i]); } for(int

我正在写一个程序,有两个条件“orgi”和“sort”。Orgi按插入顺序显示输入。排序按插入顺序以及按字母顺序显示输入

在我的代码的输出中,if条件“orgi”和“sort”也会显示出来。我如何解决这个问题

命令行输入为:排序“raam”“ram”“ravi”

替换此项:

for (String s: args)
为此:

for (int i = 1; i < args.length; i++) {
    System.out.println(args[i]);
}
for(int i=1;i
您需要在没有第一项的情况下获取剩余的参数。我能想到的最简洁的方法是:

Arrays.asList(args).subList(1, args.length);
然后需要使用
集合进行排序。排序
而不是
数组。排序
。要将其返回阵列,如果需要,可以使用:

String[] rest = Arrays.asList(args)
        .subList(1, args.length)
        .toArray(new String[args.length - 1]);

您可以使用创建所需数据的单独副本以供进一步使用

    String[] args_data = new String[args.length-1];
    // length of args_data will be one less element than args so args.length-1

    System.arraycopy(args, 1, args_data, 0, args.length-1);
    // copy elements into args_data from args , starting from args[1]

    // args_data will contain only data as "raam", "ram", "ravi"
因此,使用
args\u数据
进行排序和显示,但在
if
条件内除外

e、 g


程序运行正常,唯一的问题是您正在考虑将用于条件检查的第一个参数也作为排序的输入。这应该是
args.length
Oops,谢谢David@我很高兴能帮上忙,很高兴
    String[] args_data = new String[args.length-1];
    // length of args_data will be one less element than args so args.length-1

    System.arraycopy(args, 1, args_data, 0, args.length-1);
    // copy elements into args_data from args , starting from args[1]

    // args_data will contain only data as "raam", "ram", "ravi"
if(args[0].equals("orgi"))
{
   for (String s: args_data )
   {
       System.out.println(s);
   }
}
if(args[0].equals("sort"))
{
    for(String s: args_data )
    {
       System.out.println(s);
    }
    Arrays.sort(args_data );
    for (String s: args_data)System.out.println(s);
}