Java中StringTokenizer 类

StringTokenizer位于java.util包中,该类可以将字符串分解为组成它的符号词。

构造函数:

StringTokenizer(String str)  以字符串str为参数以(空格,换行符,制表符,回车符)结尾,建立一个StringTokenizer对象。

StringTokenizer(String str,String delim)是以字符串str为参数,以delim为定界字符建立一个StringTokenizer对象。

StringTokenizer(String str,String delim,boolean returnDelims) 以字符str为参数,以delim为定界字符串,以returnDelims参数确定该定界是否也作为语言符号返回建立一个StringTokenizer对象。

StringTokenizer 常用方法

int countTokens() 返回要进行语言符号化的字符串中语言符号的数目。

Boolean hasMoreTokens() 判断是字符串中是否还有更多的语言符号。

String nextToken() 获取StringTokenizer类中的下一个语言符号。

样例:在窗口JTextField中输入要进行语言符号化的语句,按回车键后,结果显示在窗口的JTextArea中。

import java.awt.*;
import java.awt.event.*;
import java.util.StringTokenizer;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class TokenizerTest extends JFrame {

	private JLabel promptLabel;
	private JTextField inputField;
	private JTextArea outputArea;
	public TokenizerTest(){
		super("测试StringTokenizer类");
		/**
		       初始化一个容器,用来在容器上添加一些控件
		 */
		Container container =getContentPane();
		/*一般的用法:setLayout(new BorderLayout())//或FlowLayout...随后调用add(...)即可。
                                  常用的有5种:FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout。一般来说都要放在构造函数或初始化函数中,设置后再加入控件。
                                 下面是几个使用setLayout()方法实现FlowLayout的例子:
          setLayout(new FlowLayout(FlowLayout.RIGHT,20,40));
         setLayout(new FlowLayout(FlowLayout.LEFT));
         setLayout(new FlowLayout());
        */
		container.setLayout(new FlowLayout());
		promptLabel =new JLabel("输入一个句子,然后按回车键");
		container.add(promptLabel);
		inputField=new JTextField(20);
		inputField.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent event){
				StringTokenizer tokens=new StringTokenizer(event.getActionCommand());
				outputArea.setText("Number of elements:"+ tokens.countTokens()+"\nThe tokens are:\n");
				while(tokens.hasMoreElements()){
					outputArea.append(tokens.nextToken()+'\n');
				}
			}
		});
		container.add(inputField);
		outputArea=new JTextArea(10,20);
		outputArea.setEditable(false);           //文本输出框不能进行编辑
		container.add(new JScrollPane(outputArea));
		setSize(275,240);
		setVisible(true);	
	}
	public static void main(String[] args) {
          TokenizerTest opplication= new TokenizerTest();
          opplication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值