当前位置: 代码迷 >> Java相关 >> 有问题要请教   很急呀 请快点帮忙解出答案
  详细解决方案

有问题要请教   很急呀 请快点帮忙解出答案

热度:495   发布时间:2004-05-18 20:28:00.0
有问题要请教   很急呀 请快点帮忙解出答案
有问题要请教呀! 写一个Applet,在一个文本区中输入数字(以空格或逗号或回车间隔),在第二个文本区中及时刷新排序.  提示:在第一个文本框中解析数字用StringTokenizer类,用到下面方面: ●StringTckenizer(String,String):用第二个串作分隔符分隔解析第一个串 ● countTokens():返回串中解析出的单个数字的数量 ● nextToken():返回串中解析出的下一个数字
----------------解决方案--------------------------------------------------------
不好意思。我看不懂
----------------解决方案--------------------------------------------------------

怎么不懂了?很简单的,你要实现的源程序?

[此贴子已经被作者于2004-06-26 19:44:48编辑过]


----------------解决方案--------------------------------------------------------
有点内涵!
----------------解决方案--------------------------------------------------------

写了一个Swing版本的,楼主的Applet应该很容易能写了:

import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*;

class InputPanel extends JPanel { private JTextField inputText; private JTextField outputText; InputPanel() { TextPanel panel = new TextPanel(); add(panel); } private class TextPanel extends JPanel { int num; //The input numbers' total number int data[]; TextPanel() { setLayout(new BorderLayout()); inputText = new JTextField(20); outputText = new JTextField(20); add(inputText, BorderLayout.NORTH); add(outputText, BorderLayout.SOUTH);

inputText.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String input = inputText.getText(); //Suppose we use " " to divide the input StringTokenizer token = new StringTokenizer(input, " "); int length = token.countTokens(); data = new int[length]; for(int i = 0; i < length; i++) data[i] = Integer.parseInt(token.nextToken()); sort(data, length); //Let's make the output string StringBuffer output = new StringBuffer(); for(int j = 0; j < length; j++) { output.append(data[j]); output.append(" "); } outputText.setText(output.toString()); } }); }

private void sort(int[] a, int len) { int i, j, temp; for(i = 0; i < len-1; i++) for(j = i+1; j < len; j++) if(a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } } }

class InputFrame extends JFrame { InputFrame() { setTitle("Input Test"); setSize(300, 200);

getContentPane().add(new InputPanel()); } }

public class Test { public static void main(String[] args) { InputFrame frame = new InputFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } }


----------------解决方案--------------------------------------------------------
嗯……jellen的方法好,不要直接写答案,呵呵
----------------解决方案--------------------------------------------------------
  相关解决方案