当前位置: 首页 > 知识库问答 >
问题:

后缀评估器--扫描器问题?

花飞扬
2023-03-14
Scanner i = new Scanner(System.in);
System.out.println("Message...");
StackList stack = new StackLinkedList();
while (i.hasNext()) {
    if (input.hasNextInt()) {
        stack.push(i.nextInt());
        continue;
    }
    String op = input.next());
    Integer val_one = stack.pop();
    Integer val_two = stack.pop();
    switch(op) { a switch statement that evaluates based on the operator};
}
input.close();
System.out.println(stack.pop);

共有1个答案

尤茂材
2023-03-14

从控制台读取的扫描仪总是会有更多的数据,因为总是有可能键入更多的数据。

您可以按Ctrl-D Enter(在Linux上)或Ctrl-Z Enter(在Windows上),这在控制台上模拟“文件结束”的情况(就像从文件或字符串中读取并到达它的结尾一样)。

但是,也许您希望从控制台一次读取一行,然后分别解析每一行?(使用扫描程序构造函数,该构造函数接受字符串,这就是您所读的行)

 类似资料:
  • 我正在编写一段代码,对给定的后缀表达式求值。每个操作数和运算符之间用空格分隔,最后一个运算符后跟空格和“x”。 例子: 内插表达式:(2*3 4)*(4*3 2) 后缀表达式:23*443*2*x “x”暗示表达的结束。 输入(后缀表达式)作为字符串由另一个函数给出,该函数将内缀表达式转换为后缀表达式。 后缀评估的功能是: 我给出的例子的输出应该是“140”,但我得到的是“6”。请帮我找出错误。

  • 本文向大家介绍评估后缀表达式,包括了评估后缀表达式的使用技巧和注意事项,需要的朋友参考一下 为了求解数学表达式,我们需要前缀或后缀形式。将中缀转换为后缀后,我们需要后缀评估算法来找到正确的答案。 在这里,我们还必须使用堆栈数据结构来解决后缀表达式。 从后缀表达式中,找到一些操作数后,将它们压入堆栈。找到某个运算符后,将从堆栈中弹出两个项目,并按正确的顺序执行操作。之后,结果也被压入堆栈中以备将来使

  • 我使用AWS托管API网关和DynamoDB直接集成。 我现在正在尝试为我的应用程序添加分页功能,我很难100%实现它。我面临的问题是当我向后扫描时,我会给你一个例子来更好地理解这个问题。 想象一下,我有一个包含20个项目的列表,页面大小为5。 当我查询我的表时,第一个查询将返回。预期的行为 当我查询表时,将第五个元素中的lastEvaluatedKey传递给它,它返回。预期行为。 现在,当我使用

  • 一段时间以来,我一直在做一个作为拼字字典的编程作业。该程序接受用户的输入,并输出一个包含单词列表的文件,这取决于用户从菜单中请求的内容。我遇到的问题与Scanner.nextLine()有关。 我不是很清楚为什么,但由于某种原因,有时我必须按一次enter键,然后我的代码才会接受我的输入并将其存储为变量。本质上,我最终输入了两次输入。我尝试在代码周围插入Scanner.nextLine()以“占用

  • 我有一个类,它创建多个对象,并将它们放入中,如下所示: 我有一个应用程序,它从控制台扫描输入“add”,如果找到,就调用方法,如下所示: 应用程序应该允许用户输入“add”,但在调用方法后,将出现错误“no line found”。 我猜这是因为方法中的没有关闭,然后在需要时重新打开。这是程序的问题吗?如果是,我该如何修复它? 请注意,这个程序还没有完成,因为我将添加一个出售这些股票的销售方法。这

  • 您可以通过Burp 控制台(Burp Dashboard)上的新的扫描(New scan)按钮或是 Burp 中出现的菜单中的Scan选项来启动扫描。利用这些方法可打开扫描启动窗口,然后您可以使用它配置扫描中的各种详细参数。 扫描细节 扫描启动界面的详细的扫描信息(Scan details)部分允许您选择扫描类型,配置要扫描的内容等等信息。 扫描类型 您可以选择以下扫描类型: 抓取并审计(Craw