- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个小型计算器,它使用streamtokenizer以 token 形式处理输入。但是,当捕获异常时,我希望它忽略所有其他异常,或者移至 EOL。我不能只是中断,因为程序并不意味着崩溃,只是忽略该输入的所有后续异常。
因此,我要么尝试设置异常以忽略第一个异常之后的每个异常,要么尝试让 Streamtokenizer 在捕获异常后移至 EOL。
无论哪种方式,我都不知道如何使这两个选项中的任何一个发挥作用。
public static void main(String[] args) throws customException {
Calculator casio = new Calculator(new Stokenizer());
while (true) {
try {
casio.statement();
}
} catch (customException error) {
System.out.println(syntaxError.getMessage());
}
}
}
流分词器文档位于 http://docs.oracle.com/javase/7/docs/api/java/io/StreamTokenizer.html
最佳答案
您可以尝试类似的操作来转到行尾:
public void statement() throws IOException {
int tt = StreamTokenizer.TT_EOF;
try {
while((tt = tokenizer.nextToken()) != StreamTokenizer.TT_EOF) {
// ...
}
} catch (CustomException syntaxError) {
System.out.println(syntaxError.getMessage());
gotoEOL();
}
}
private void gotoEOL() {
try {
while(tokenizer.nextToken() != StreamTokenizer.TT_EOL)
;
} catch (IOException e) {
e.printStackTrace();
}
}
关于java - 使用streamtokenizer导致EOL异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18813822/
我使用方法 quoteChar('"') 来处理字符串。解析字符串时,常见的转义序列(例如“\n”和“\t”)会被识别并转换为单个字符。有什么方法可以让字符串保持原样,这意味着如果我有字符串: Hel
简而言之:如何更改 StreamTokenizer,以便它将输入文件中的每个字符拆分为标记。 例如,如果我有以下输入: 1023021023584 如何读取它以便将每个单独的字符保存到数组的特定索引中
考虑这个在教程点上找到的程序(其中 br 是 BufferedReader 对象): boolean eof = false; // Parse incoming request StreamToke
我正在为实验室开发自己的解析器,并且在使用 StreamTokenizer 时遇到了一些奇怪的行为。似乎任何用单引号括起来的东西都会被跳过。 代码 StreamTokenizer st = new S
我正在制作一个 HTML 渲染器。我将 html 文件读入 StreamTokenizer 中。目前它打印出正确的标记,并在我的 html 文件中指定用美元括起来的 varbiles,例如 $myVa
我有以下语法: gui ::= Window String widgets widgets ::= Button STRING ';'| radio_button End ';
我必须在 Java 中接受包含大量 10^9 阶的输入。如何快速处理输入?另外,由于streamtokenizer.nval给出了一个 double 值,我如何读取更大的值? 最佳答案 在解析之前,重
我已经挪用并修改了以下代码,这些代码在使用 Java 的 StreamTokenizer 对 Java 代码进行标记化方面做得非常好。但是,它的数字处理是有问题的: 它将所有整数转换为 double
我正在尝试实现一个分词器来将数学输入字符串解析为单独的部分,当我发布它期待一个 ; 时,我在第二行代码中遇到了一个看似微不足道的错误。线路中间的某个地方。 public static void par
我正在使用StreamTokenizer编写一个解析器。我需要像 "8a" 这样的输入来回显数字包含字符的错误。相反,它打印: NUM: 8 ID: a 它似乎将字符识别为单独的标记,即使没有空格分隔
我有一个接受数字的 StreamTokenizer。但是,解析的数字与输入的数字不同。 示例代码: String str = "1000000000000.0000000000000"; double
我正在使用 Java 的 StreamTokenizer 来标记代码文本输入。 当转义字符出现在字符串中时,分词器将它们取消转义,而我想保持字符串不变。 例如: Input: String str =
我正在使用 StreamTokenizer 来解析文本,我需要确保某些标记之间有空格。例如,“5+5”是非法的,但“5 + 5”是有效的。 我真的不太了解StreamTokenizer;我阅读了 AP
我有一个 StreamTokenizer,可以对字符串进行标记。我对从字符串中获取下一个标记以及剩余字符串(没有我们刚刚获取的标记)的方法感兴趣。 public static void parseSt
我正在为我的类开发一个解析器,它使用 StreamTokenizer java 中的类。在出现解析错误的情况下,我希望能够打印发生错误的标记开始的字符的确切行和偏移量。然而,虽然StreamToken
我有一个用于解析标记的 StreamTokenizer。当我将以下内容传递给标准输入时: a b_c d 解析的标记(在 stdout 上)是: a b null c d 为什么会这样?如果下划线是单
查看 StreamTokenizer 的演示代码 here .当字符串中有/时似乎无法正常工作(只需在StringReader中的字符串之间添加/)。这是来自上述链接的代码, StreamTokeni
在代码中 switch(token){ case StreamTokenizer.TT_EOF: eof = true; break; case Str
我正在尝试解析包含电子邮件地址的文档,但是 StreamTokenizer将电子邮件地址分成两个独立的部分。 我已经将 @ 符号设置为 ordinaryChar 并将空格设置为唯一的 whitespa
你好我正在构建自己的 StreamTokenizer 来满足我的需求。就像 java 的 StreamTokenizer 一样,我有一个 nextToken() 方法,它返回一个表示找到的数据类型的整
我是一名优秀的程序员,十分优秀!