java上机实验
我们使用的教材是《java简明教程(第三版)》- 皮德常
符号化逆序输出
盲目分析
又到了小学生做作业的时候了,这一次我们接到上级任务,需要我们写一个程序,使用StringTokenizer
类保存我们输入的文本string
。那么好了,装13时已到!做好做好。
- 我们需要用到之前使用过的输入输出,为了我们自定义本文输入。
- 逆序输出的话,我们想到什么数据结构呢?先进后出的数据结构stack(栈)。
暴力破解
import java.util.Scanner;
import java.util.Stack;
import java.util.StringTokenizer;
public class SentenceToTokens {
public static void main(String[] arg){
String line;
Stack<String> stack = new Stack<>();
StringTokenizer token;
Scanner cin = new Scanner(System.in);
System.out.println("Please input a line:");
line = cin.nextLine();
token = new StringTokenizer(line);
cin.close();
System.out.println("There are " + token.countTokens() + " elements");
while(token.hasMoreTokens()){
stack.push(token.nextToken());
}
while(!stack.empty()){
System.out.print(stack.peek() + " ");
stack.pop();
}
}
}
运行实例:
By the way,
StringTokenizer
类(位于java.util
包中)可以将字符串分解为组成字符串的语言符号(语言符号是由音、义的结合构成的)。substring
、split
也用于分割字符串,但是StringTokenizer
的效率比前两者高,它继承自Enumeration
接口。StringTokenizer
不会区分对象、函数、数组、或引证字符串。
new StringTokenized(line)
生成一个StringTokenized对象,它封装了许多实例变量和方法。countTokens()
方法是确定符号化对象中包含的符号个数。hasMoreTokens()
是一个boolean类型的方法,用于确定对象是否还带有符号。nextToken()
方法用于从对象中取得下一个符号,取得以后符号指示器自动向后移动。
叨叨几句... 2 条评论
解释一下StringTokenizer吧
@太傅
我解释的完美吧