活动介绍
file-type

Java程序:输入文本,StringTokenizer逆序输出符号

TXT文件

下载需积分: 16 | 555B | 更新于2024-12-29 | 78 浏览量 | 4 评论 | 41 下载量 举报 4 收藏
download 立即下载
"Java编程,使用StringTokenizer类处理文本,逆序输出符号" 在Java编程中,`StringTokenizer` 类是处理字符串的一种有效工具,它能够将字符串按照指定的分隔符进行分解,生成一系列的标记(tokens)。在这个程序中,我们需要编写一个应用,它从用户那里获取一行输入文本,然后利用 `StringTokenizer` 对象将文本分解成各个符号,最后以逆序的方式将这些符号输出。 程序的主要结构如下: 1. 引入必要的库:`javax.swing` 和 `java.util`。`javax.swing` 库用于与用户交互,显示输入对话框;`java.util` 库包含 `StringTokenizer` 类。 2. 定义一个公共类 `Wen64`,并创建一个 `main` 方法,这是程序的入口点。 3. 在 `main` 方法中,首先调用 `JOptionPane.showInputDialog` 函数显示一个对话框,让用户输入文本。这个函数返回用户输入的一行文本,存储在变量 `input` 中。 4. 创建一个 `StringTokenizer` 对象 `tokens`,传入用户输入的 `input` 字符串和默认的分隔符。在大多数情况下,如果没有明确指定分隔符,`StringTokenizer` 将会使用空格、制表符和换行符作为分隔符。 5. 初始化一个字符串数组 `a`,其长度等于 `tokens` 对象中的令牌数。这可以通过调用 `tokens.countTokens()` 得到。 6. 使用 `while` 循环,只要 `tokens` 对象还有更多的令牌,就将它们逐个添加到数组 `a` 中。这里有一个嵌套的 `for` 循环,但其实没有必要,因为 `while` 循环已经足够处理所有的令牌。可以简化为: ```java while (tokens.hasMoreTokens()) { a[i] = tokens.nextToken(); i++; } ``` 7. 使用另一个 `for` 循环,从数组 `a` 的末尾开始,逆序遍历并打印每个元素。注意,在输出时,还附加了元素的索引,以展示逆序。 8. 最后,调用 `System.exit(0)` 结束程序。在实际应用中,这通常不是必需的,因为程序在完成主线程的所有工作后会自动退出。 这个程序展示了如何使用 `StringTokenizer` 类处理字符串,并以逆序输出分解后的结果。在实际开发中,可以依据需求调整分隔符,或者处理更复杂的文本解析任务。

相关推荐

filetype
package lsy; import java.util.StringTokenizer; /** * * @author lushuaiyin * */ public class StringTokenizerTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String ivrdata="v1|v2|你好|哈哈"; getTokenizer1(ivrdata); System.out.println("----------------------------------"); getTokenizer2(ivrdata); System.out.println("----------------------------------"); getTokenizer2Array(ivrdata,"|"); System.out.println("----------------------------------"); String ssss="y1 y2 split实现 哈哈"; String[] strarr=getTokenizer2Array(ssss,""); } public static void getTokenizer1(String str){ StringTokenizer st = new StringTokenizer(str, "|",true); System.out.println("countTokens:"+st.countTokens()); int j=0; while(st.hasMoreTokens()){ System.out.println(j+":"+st.nextToken()); j++; } } public static void getTokenizer2(String str){ StringTokenizer st = new StringTokenizer(str, "|",false); System.out.println("countTokens:"+st.countTokens()); int j=0; while(st.hasMoreTokens()){ System.out.println(j+":"+st.nextToken()); j++; } } //////////////split实现////////// public static String[] getTokenizer2Array(String str,String splitStr){ String[] arr=null; if(str==null||str.trim().equals("")){ }else{ if(splitStr==null||splitStr.trim().equals("")){ splitStr=" "; } StringTokenizer st = new StringTokenizer(str, splitStr,false); System.out.println("ArraySize:"+st.countTokens()); arr=new String[st.countTokens()]; int j=0; while(st.hasMoreTokens()){ String temp=st.nextToken(); System.out.println(j+":"+temp); arr[j]=temp; j++; } } return arr; } /*api解释 public StringTokenizer(String str, String delim, boolean returnDelims) str是要处理的字符串; delim是分隔符; returnDelims 是否把分隔符也作为结果返回 (public StringTokenizer(String str, String delim) returnDelims默认false; StringTokenizer(String str)默认分隔符delim是 " \t\n\r\f",returnDelims是false) 遍历的api中注意,hasMoreElements()等于hasMoreTokens(); nextElement()等于nextToken()。可以 看源码验证。 打印: countTokens:7 0:v1 1:| 2:v2 3:| 4:你好 5:| 6:哈哈 ---------------------------------- countTokens:4 0:v1 1:v2 2:你好 3:哈哈 ---------------------------------- ArraySize:4 0:v1 1:v2 2:你好 3:哈哈 ---------------------------------- ArraySize:4 0:y1 1:y2 2:split实现 3:哈哈 */ }
资源评论
用户头像
我有多作怪
2025.06.30
文档内容简单易懂,适合初学者尝试和实践。
用户头像
琉璃纱
2025.04.30
使用StringTokenizer类处理文本是个不错的练习,对掌握Java分词有很大帮助。
用户头像
金山文档
2025.03.17
该文档清晰地指导了如何使用StringTokenizer类进行文本符号化,步骤简单明了。
用户头像
熊比哒
2025.02.19
这是一份针对Java初学者的基础编程练习,能够加深对StringTokenizer类的理解。
renqiulinzhuang
  • 粉丝: 4
上传资源 快速赚钱