我制作了一个类词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);
}
}
现在,您应该可以对每个命令行参数使用字谜算法。