Scanner 的进一步学习和与StreamTokenizer的学习
来源:互联网 发布:gaga软件下载 编辑:程序博客网 时间:2024/06/10 01:55
Scanner:
Scanner的构造函数有5个重载版本,分别接受一个实参,实参的类型可以是下面的任一种:
InputStream,File,ReadableByteChannel,Readable,String
写了一个测试程序,如下:public static void main(String[] args) {
Scanner scan = new Scanner(System.in) ;
//scan.useDelimiter("exit");
int count = scan.nextInt() ;
String str = scan.nextLine();
System.out.println(str) ;
}
不知何原因,网上搜索了一下,很过这方面的讲解,先罗列如下:以为scan.nextInt(),只是读取了一个整型值,在键盘上敲击的硬回车符并没有被count接受,所以造成的结果就是剩余一个回车符,当程序进行到scan.nextLine()时,str只是接受了一个回车符。
当使用String str = scan.next() 时,需要人为指定一个结束符,此时可以用到,scan.useDelimiter("exit") ;表示字符串读到到此第一个“exit”处结束。
String str = scan.nextLine() ;读入一行字符串。
StreamTokenizer:
字段摘要:
double navl ------> 如果当前标记是一个数字,则此字段将包含该数字的值。
String sval ------> 如果当前标记是一个文字标记,则此字段包含一个给出该文字标记的字符的字符串。
static int TT_EOF ------>指示已读到流末尾的常量。
static int TT_EOL ------->指示已读到行末尾的常量。
static int TT_NUMBER------->指示已读到一个数字标记的常量。
static int TT_WORD -------> 指示已读到一个文字标记的常量。
int ttype --------> 在调用 nextToken() 方法之后,此字段将包含刚读取的标记的类型。
The StreamTokenizer
class takes an input stream and parses it into "tokens", allowing the tokens to be read one at a time,这些符号的拆分是按照空格来确定的。
public static void main(String[] args) {
int type;
StreamTokenizer tok = new StreamTokenizer(new BufferedReader(
new InputStreamReader(System.in)));
System.out.println("please input :");
try {
while((type=tok.nextToken())!=tok.TT_EOL){
if(type==tok.TT_NUMBER){
System.out.println(tok.nval);
}else if(type==tok.TT_WORD){
if(tok.sval.equalsIgnoreCase("exit"))
{
System.exit(1);
}
System.out.println(tok.sval);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
总结:Scanner 和StreamTokenizer的区别如上
- Scanner 的进一步学习和与StreamTokenizer的学习
- Qt信号与槽的进一步学习
- 进一步学习的内容
- XML的进一步学习
- xml的进一步学习
- servlet的进一步学习
- QT的进一步学习
- 需要进一步学习的
- Glide的进一步学习
- C++的进一步学习
- Scanner类的学习
- 对spark和scala的进一步学习
- 需要进一步学习的知识点和总结
- HTML和CSS的进一步学习
- Java中用StreamTokenizer与Scanner读取数据
- [新手]const的进一步学习
- 如何进一步的学习java?
- 学习C++的进一步感受
- 直接调用类成员函数地址
- JSP技巧:subversion commit 报错A checksum mismatch occurred svn: Commit failed (details follow): svn: ……
- 口语语汇单词篇(11)
- java单例模式
- COM应用实例--获取桌面墙纸路径
- Scanner 的进一步学习和与StreamTokenizer的学习
- 第四章 语句 [c和指针]
- 远程文件读取
- centos 与 ubuntu的不同之处
- 用Java读取INI文件(带section的)
- Flex框架cairngorm学习
- Asp.net MVC3 自定义HtmlHelper控件
- OpenGL基础知识(二)
- Java中File类详解