中易网

求大大编写一段java程序...万分感谢!

答案:1  悬赏:10  
解决时间 2021-02-17 16:39
本人java 0基础..最近在看视频自学,但是被要求要编以下这样一个程序,完全超出了我自学的进度...很快就要交了..实在没办法只能来这里求助了,希望有大神能帮忙,谢谢_(:з」∠)_...
要求大致如下:

编写一个程序,形成一个”anagram puzzle“(字谜拼图)程序。”anagram“指由颠倒字母顺序而构成的字,一个能被其他词或短语中的字母转换或重组而形成的词或短语。例如,”CHARM“是”MARCH“的anagram,”CLINT EASTWOOD“是”OLD WEST ACTION“的anagram。 这个程序中只考虑单词的anagram。同时在制作这个拼图的内容中,anaram的定义是”一个单词能被一个字符串的字母转换形成(它可以是也可以不是一个单词)这个程序需要编的举例来说:
CHARM和MARCH都是字符串RMCHA的anagram。在这例子中RMCHA是一个anagram puzzle,然后MARCH和CHARM都是它的解决方案。所以更具体化来说这个程序的目标是:随机选择一些英语单词,并输出一个它的随机重排字母。
你需要一个单词列表文件,wordlist.txt或stateslist.txt,(这个我上传不了。。大致程序能编出意思就行了,谢谢)运行大型字典单词表,输入:
Java anagrampuzzlegenerator wordlist.txt

另外原题给了个可能是提示或者是例子的,如下:

class Echo {
public static void main(String[] args) throws FileNotFoundException {
Scanner in = new Scanner(new FileInputStream(args[0]));

int size = in.nextInt();//first item is the number of words

//while loop print out of words in file
int i = 0;
while ( i < size ) {
System.out.println(in.next());
i++;
}

}
}

能简单讲解一下最好,不苛求...关键只要能编出大致意思就行了,万分感谢_(:з」∠)_
最佳答案


package com.toy.anagrams.ui;

import com.toy.anagrams.lib.WordLibrary;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.TextField;
import java.awt.Toolkit;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import javax.swing.JRootPane;


public class Anagrams{

public static void main(String[] args) {
new Anagrams(new JFrame("Test"));
}

private int wordIdx = 0;
private JRootPane rootPane;

public Anagrams(JFrame frame){
frame.setLayout(new BorderLayout());
initComponents();
frame.add(mainPanel);
scrambledWord.setText(WordLibrary.getScrambledWord(wordIdx));
guessedWord.requestFocusInWindow();
frame.setVisible(true);
}


public Anagrams() {
JFrame mainFrame = new JFrame("Anagrams");
rootPane = mainFrame.getRootPane();
initComponents();
getRootPane().setDefaultButton(guessButton);
scrambledWord.setText(WordLibrary.getScrambledWord(wordIdx));
mainFrame.pack();
guessedWord.requestFocusInWindow();
// Center in the screen
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = mainFrame.getSize();
mainFrame.setLocation(new Point((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.width) / 2));
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setVisible(true);
}

public Anagrams(JComponent topComponent){
initComponents();
topComponent.setLayout(new BorderLayout());
topComponent.add(mainPanel);
scrambledWord.setText(WordLibrary.getScrambledWord(wordIdx));
guessedWord.requestFocusInWindow();
}

private void setJMenuBar(JMenuBar menuBar){
rootPane.setJMenuBar(menuBar);
}

private JRootPane getRootPane(){
return rootPane;
}

private Container getContentPane(){
return getRootPane().getContentPane();
}


// //GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;

mainPanel = new javax.swing.JPanel();
scrambledLabel = new javax.swing.JLabel();
scrambledWord = new javax.swing.JTextField();
guessLabel = new javax.swing.JLabel();
guessedWord = new javax.swing.JTextField();
feedbackLabel = new javax.swing.JLabel();
buttonsPanel = new javax.swing.JPanel();
guessButton = new javax.swing.JButton();
nextTrial = new javax.swing.JButton();

mainPanel.setLayout(new java.awt.GridBagLayout());

mainPanel.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(12, 12, 12, 12)));
mainPanel.setMinimumSize(new java.awt.Dimension(297, 200));
scrambledLabel.setText("Scrambled Word:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 6);
mainPanel.add(scrambledLabel, gridBagConstraints);

scrambledWord.setColumns(20);
scrambledWord.setEditable(false);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0);
mainPanel.add(scrambledWord, gridBagConstraints);

guessLabel.setDisplayedMnemonic('Y');
guessLabel.setLabelFor(guessedWord);
guessLabel.setText("Your Guess:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 20, 6);
mainPanel.add(guessLabel, gridBagConstraints);

guessedWord.setColumns(20);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 20, 0);
mainPanel.add(guessedWord, gridBagConstraints);

feedbackLabel.setText(" ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 20, 0);
mainPanel.add(feedbackLabel, gridBagConstraints);

buttonsPanel.setLayout(new java.awt.GridBagLayout());

guessButton.setMnemonic('G');
guessButton.setText("Guess");
guessButton.setToolTipText("Guess the scrambled word.");
guessButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
guessedWordActionPerformed(evt);
}
});

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 6);
buttonsPanel.add(guessButton, gridBagConstraints);

nextTrial.setMnemonic('N');
nextTrial.setText("New Word");
nextTrial.setToolTipText("Fetch a new word.");
nextTrial.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nextTrialActionPerformed(evt);
}
});

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
gridBagConstraints.weighty = 1.0;
buttonsPanel.add(nextTrial, gridBagConstraints);

gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weighty = 1.0;
mainPanel.add(buttonsPanel, gridBagConstraints);

}
//
//GEN-END:initComponents

private void nextTrialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextTrialActionPerformed
wordIdx = (wordIdx + 1) % WordLibrary.getSize();

feedbackLabel.setText(" ");
scrambledWord.setText(WordLibrary.getScrambledWord(wordIdx));
guessedWord.setText("");
//getRootPane().setDefaultButton(guessButton);

guessedWord.requestFocusInWindow();
}//GEN-LAST:event_nextTrialActionPerformed

private void guessedWordActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_guessedWordActionPerformed
if (WordLibrary.isCorrect(wordIdx, guessedWord.getText())){
feedbackLabel.setText("Correct! Try a new word!");
//getRootPane().setDefaultButton(nextTrial);
} else {
feedbackLabel.setText("Incorrect! Try again!");
guessedWord.setText("");
}

guessedWord.requestFocusInWindow();
}//GEN-LAST:event_guessedWordActionPerformed

// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel buttonsPanel;
private javax.swing.JLabel feedbackLabel;
private javax.swing.JButton guessButton;
private javax.swing.JLabel guessLabel;
private javax.swing.JTextField guessedWord;
private javax.swing.JPanel mainPanel;
private javax.swing.JButton nextTrial;
private javax.swing.JLabel scrambledLabel;
private javax.swing.JTextField scrambledWord;
// End of variables declaration//GEN-END:variables

}

请参考,记得采纳我
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
每日每夜NO.005地址有知道的么?有点事想过去
抽水马桶底部有无单向翻板?1楼经常泛水是什
浅蓝色连衣裙配黑色一脚蹬好看吗?
陈这个字有几画
豪廷商务酒店这个地址在什么地方,我要处理点
Kangdi Castle Rouge 多少钱一瓶? 哪里有卖
ETS注册号未生成怎么办?
武汉市武昌医院怎么样?
设2/3<a<1,函数f(x)=x^3-3/2ax^2+b(-1<=x<=1)
永成房产地址在什么地方,想过去办事
三十年前的原始股票还有用吗?
永合装饰地址有知道的么?有点事想过去
phpcms v9安装之前要准备什么
你会向你喜欢的男生借钱吗?
工程制图的基准线是什么
推荐资讯
通用动力是什么?可应用领域是什么?
没有物质的爱情?会长久吗?
2010移动客服晚上怎么倒班
函数在一点连续,那么就能够说明在这一点导函
兴宁区享快剪(朝阳店)地址有谁知道?有点事想
今生缘网吧这个地址在什么地方,我要处理点事
某个字段必须输入任何字符或一个空格,该字段
95566按几号键转进人工服务
男生17岁个子160胡子和腋毛长齐了还长个子吗?
抽烟 头痛该怎么办???
上海嘉定到江西上饶怎么坐车
金牛区庆刚大药房地址有知道的么?有点事想过
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?