我是java编程语言的新手,需要帮助编写一个类Anagrams来打印句子中单词的排列.例如:红车 - >红车,车红.这是我到目前为止所写的,我认为即时通讯正确,即使我的代码没有完成,我至少想让它运行.
import javax.swing.JOptionPane;
public class Anagrams
{
private String x;
private char[] xarray;
private String[] words;
public void Anagrams(String phrase1)
{
x = phrase1;
}
public void printPerms()
{
int perms = 0;
xarray = x.toCharArray();
for (int i = 0; i < x.length(); i++)
{
if(xarray[i] == ' ') perms = perms + 1;
}
words = x.split(" ");
for (int i = 0; i < perms; i++)
{
System.out.println(words[i]);
}
}
public void main(String args[])
{
String phrase1 = JOptionPane.showInputDialog("Enter phrase 1.");
Anagrams(phrase1);
printPerms();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试运行时遇到的错误.
Exception in thread "main" java.lang.NoSuchMethodError: main
Run Code Online (Sandbox Code Playgroud)
现在我只是试图让我的程序运行不打印排列.我想,一旦它至少打印出来,我就可以解决这个问题.有人可以告诉我它为什么不运行,如果除了JOptionPane之外还有其他方法,你如何从c ++ cin >>获得用户的输入.
谢谢
主要方法需要是静态的.
这个怎么样:
public static void main(String args[])
{
String phrase1 = JOptionPane.showInputDialog("Enter phrase 1.");
new Anagrams(phrase1).printPerms();
}
Run Code Online (Sandbox Code Playgroud)