我制作了一个类词Anagrams来写句子中单词的排列,当我以java Anagrams“sentence1”“sentence2”的形式运行编译后的程序时,它应该生成每个句子的排列。我将如何做到这一点?

import java.io.*;
import java.util.Random;
import java.util.ArrayList;
import java.util.Collections;

public class Anagrams
{

    ...

    public static void main(String args[])
    {
        String phrase1 = "";
        System.out.println("Enter a sentence.");
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        try { phrase1 = input.readLine(); }
        catch (IOException e) {
        System.out.println("Error!");
        System.exit(1);
        }

        System.out.println();
        new Anagrams(phrase1).printPerms();
    }


}

这是我到目前为止所需要的,只需要它在“sentence1”,“sentence2”上运行即可...
当我键入命令Java Anagrams“sentece1”“sentence2” ...
香港专业教育学院已经使用javac Anagrams.java对其进行了编译

最佳答案

从您的评论中,我认为您唯一的问题是如何使用命令行参数来解决任务:

您的主要方法如下所示:

public static void main(String args[])

但应该看起来像这样
public static void main(String[] args)

您会看到有一个包含命令行参数的字符串数组。因此,如果您使用
java Anagrams sentence1 sentence2

那么该数组的长度为2。在第一个位置(args[0])是值sentence1,在第二个位置(args[1])是值sentence2

打印所有命令行参数的示例代码如下所示:
public static void main (String[] args) {
        for (String s: args) {
            System.out.println(s);
        }
    }

现在,您应该可以对每个命令行参数使用字谜算法。

09-28 13:09