StreamTokenizer类parseNumbers()方法 (StreamTokenizer Class parseNumbers() method)
parseNumbers() method is available in java.io package.
parseNumbers()方法在java.io包中可用。
parseNumbers() method is used to denotes the number should be parsed by this StreamTokenizer. The syntax table of this StreamTokenizer is updated so that each of the 12 characters [0,1,2,3,4,5,6,7,8,9] has the number attribute.
parseNumbers()方法用于表示该StreamTokenizer应该解析的数字。 此StreamTokenizer的语法表已更新,以使12个字符[0,1,2,3,4,5,6,7,8,9]中的每一个都具有数字属性。
parseNumbers() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
parseNumbers()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。
parseNumbers() method does not throw an exception at the time of parsing numbers.
parseNumbers()方法在解析数字时不会引发异常。
Syntax:
句法:
public void parseNumbers();
Parameter(s):
参数:
It does not accept any parameter.
它不接受任何参数。
Return value:
返回值:
The return type of the method is void, it returns nothing.
该方法的返回类型为void ,不返回任何内容。
Example:
例:
// Java program to demonstrate the example
// of void parseNumbers() method of StreamTokenizer
import java.io.*;
public class ParseNumbers {
public static void main(String[] args) {
String str = "Hi, This is \n a mathematical expression :\n " +
" 2 * 4 = 8 " + "8 + 5 = 13";
try {
// Instantiates FileOutputStream and ObjectOutputStream
FileOutputStream fos_stm = new FileOutputStream("D:\\includehelp.txt");
ObjectOutputStream obj_out_stm = new ObjectOutputStream(fos_stm);
// By using writeUTF() method is to
// write the given string in the file
obj_out_stm.writeUTF(str);
obj_out_stm.flush();
// Instantiates FileOutputStream and ObjectOutputStream
ObjectInputStream obj_in_stm = new ObjectInputStream(new FileInputStream("D:\\includehelp.txt"));
// Instantiates StreamTokenizer and Reader
Reader reader = new BufferedReader(new InputStreamReader(obj_in_stm));
StreamTokenizer st = new StreamTokenizer(reader);
// By using parseNumbers() method denotes
// that number should be parsed
st.parseNumbers();
// Here, we are considering initially
// file is not empty
boolean end_of_file = false;
while (!end_of_file) {
// By using nextToken() method is to
// parse the next token from the stream
int token = st.nextToken();
switch (token) {
case StreamTokenizer.TT_EOF:
System.out.println("End of File Found");
end_of_file = true;
break;
case StreamTokenizer.TT_EOL:
System.out.println("End of Line Found");
break;
case StreamTokenizer.TT_WORD:
System.out.println("word: " + st.sval);
break;
case StreamTokenizer.TT_NUMBER:
System.out.println("number: " + st.nval);
break;
default:
System.out.println((char) token + " Found.");
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Output
输出量
@ Found.
word: Hi
, Found.
word: This
word: is
word: a
word: mathematical
word: expression
: Found.
number: 2.0
* Found.
number: 4.0
= Found.
number: 8.0
number: 8.0
+ Found.
number: 5.0
= Found.
number: 13.0
End of File Found
翻译自: https://www.includehelp.com/java/streamtokenizer-parsenumbers-method-with-example.aspx