-1

私はすでにリバースしましたが、コンパイル エラーが発生しました PLZ HELP は今日の午後 10 時までに回答が必要です。

リバース ボタン アクションを実行すると、コンパイル エラーが発生します。シンボル ワードが見つかりません - 修正方法

ソースコードは次のとおりです。

public class ReverseTester extends JFrame
{
private static final int FRAME_WIDTH = 500;
private static final int FRAME_HEIGHT = 200;

private JTextField txtInstring;
private JLabel lblOutstring;
private JButton btnReverse;
private JButton btnExit;
private JPanel pnl2x3;

public ReverseTester()
{
  txtInstring = new JTextField("");
  lblOutstring = new JLabel("Reversed LinkedList: ");

  btnReverse = new JButton("Reverse");
  ActionListener my_ReverseListener = new ReverseListener();
  btnReverse.addActionListener(my_ReverseListener);

  btnExit = new JButton("Exit");
  ActionListener my_ExitListener = new ExitButtonListener();
  btnExit.addActionListener(my_ExitListener);

  pnl2x3 = new JPanel();
  pnl2x3.setLayout (new GridLayout(2,1));
  pnl2x3.add(txtInstring);
  pnl2x3.add(btnReverse);
  pnl2x3.add(btnExit);
  pnl2x3.add(lblOutstring);
  add(pnl2x3, BorderLayout.CENTER);
  setSize(FRAME_WIDTH, FRAME_HEIGHT);
}

public static void main(String[] args)   
{
  LinkedList<String> words = new LinkedList<String>();
  words.addLast("before...");
  words.addLast("gone");
  words.addLast("has");
  words.addLast("one");
  words.addLast("no");
  words.addLast("where");
  words.addLast("go");
  words.addLast("boldly");
  words.addLast("To");
  words.addLast("frontier.");
  words.addLast("final");
  words.addLast("the");
  words.addLast("is");
  words.addLast("Space");

  String instring = String.format("%s",words);
  ListUtil.reverse(words);
  JFrame frame = new ReverseTester();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
}

class ExitButtonListener implements ActionListener
{
  public void actionPerformed(ActionEvent e)
  {
    dispose();
  }
}
class ReverseListener implements ActionListener
{
  public void actionPerformed(ActionEvent e)
  {
    String outstring = String.format("%s",words);
    outstring = outstring.replace(",", "");

    lblOutstring.setText(outstring);
  }
}
}


public class ListUtil
{
  public static void reverse(LinkedList<String> myList)
  {
    LinkedList<String> temp = new LinkedList<String>();
    for (String element : myList)
    {
      //String removed = myList.removeFirst();
      temp.addFirst(element);
      String outstring_rev = String.format("%s",temp);
      outstring_rev = outstring_rev.replace(",", "");
    }
  }

}
4

2 に答える 2

0

クラスReverseListenerは何が何でlblOutstringあるかを知りません。何らかの方法でこの情報を提供する必要があります。

于 2013-11-04T20:05:00.370 に答える
0

あなたのwords変数はmain()関数のスコープで宣言されています。ReverseListenerコンパイラは、クラス内のこの変数について認識していません。クラススコープ変数として宣言wordsするか、またはに渡しますReverseListener

于 2013-11-04T20:07:33.883 に答える