我正在编写一个程序,该程序具有两个条件“orgi”和“sort”。 Orgi 按插入顺序显示输入。排序按插入顺序显示输入,并按字母顺序排序。
在我的代码输出中,还显示了 if 条件“orgi”和“sort”。我该如何解决这个问题?
Command line input is: sort "raam" "ram" "ravi"
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
if(args[0].equals("orgi"))
{
System.out.println("Here is a list of the names as read in:");
for (String s: args)
{
System.out.println(s);
}
System.out.println("Press Enter to continue ... ");
keyboard.nextLine();
}
if(args[0].equals("sort"))
{
System.out.println("Here is the list of the names as read in:");
for(String s: args)
{
System.out.println(s);
}
System.out.println("Press Enter to continue ... ");
keyboard.nextLine();
System.out.println("And here is a sorted list of the names as read in:");
Arrays.sort(args);
for (String s: args)System.out.println(s);
}
}
最佳答案
您可以使用 System.arraycopy
创建所需数据的单独副本进一步使用
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_data
进行排序和显示,除了if
条件
例如
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);
}
关于java - 如何为命令行输入设置条件以避免输出中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42316244/