StreamTokenizer 读取空格数字
时间: 2024-05-16 18:15:44 浏览: 11
StreamTokenizer 是一个 Java 类,用于将输入流分解为标记或词法单元。默认情况下,它将空格、制表符、换行符和回车符视为分隔符,并将数字和单词视为标记。
要读取包含空格的数字,可以使用 StreamTokenizer 的 nextToken() 方法读取下一个标记,并使用 nval 属性获取其数值。例如,以下代码将读取输入流中的第一个数字,并将其存储在变量 num 中:
```java
StreamTokenizer tokenizer = new StreamTokenizer(inputStream);
tokenizer.nextToken();
if (tokenizer.ttype == StreamTokenizer.TT_NUMBER) {
double num = tokenizer.nval;
// 处理 num
}
```
注意,如果输入流中存在非数字字符,nextToken() 方法将返回下一个标记的类型,可以使用 ttype 属性获取其类型。在上面的示例中,我们检查 ttype 是否是 TT_NUMBER,以确保我们读取的是数字。
相关问题
StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));读取空格数字
可以使用以下代码来读取空格和数字:
```
StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
st.nextToken(); // 读取下一个token
while (st.ttype != StreamTokenizer.TT_EOF) { // 判断是否读到文件结尾
if (st.ttype == StreamTokenizer.TT_NUMBER) { // 判断当前token是否为数字
double num = st.nval; // 获取数字的值
System.out.println(num);
}
st.nextToken(); // 读取下一个token
}
```
注意,`st.ttype` 表示当前token的类型,`StreamTokenizer.TT_NUMBER` 表示数字类型,`st.nval` 表示数字的值。
streamtokenizer
StreamTokenizer是Java中的一个类,用于将输入流分解为词法单元(tokens)。根据提供的引用内容,我们可以实例化一个StreamTokenizer对象并设置输入流,例如:
StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
需要注意的是,默认情况下,StreamTokenizer将许多字符视为非单词元素,因此在使用时需要手动设置。可以使用wordChars方法将需要的字符添加到单词元素中。通常,StreamTokenizer只能读取26个英文字母、汉字、数字,其他符号需要手动设置才能读入。
在算法题中,我们主要使用quoteChar和wordChars两个方法来处理StreamTokenizer对象。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)