带 Break 的无法到达语句

2023-12-15

所以我之前有一个问题,但意识到我发布了错误的违规代码。我已在下面标记了令人反感的言论。

我想要做的是使用该 switch 语句设置每个运算符的优先级。

也许有人可以指出我正确的方向。

请注意,我正在运行 JAVA 7,因此 String Switch 可以工作。

Code

opType.java

import java.io.*;

public final class opType {

   public static opType ADD = new opType( "Add" );
   public static opType SUB = new opType( "Sub" );
   public static opType MULT = new opType( "Mult" );
   public static opType DIV = new opType( "Div" );
   public static opType MOD = new opType( "Mod" );
   public static opType LPAR = new opType( "LParen" );
   public static opType RPAR = new opType( "RParen" );

   protected String name;

   private opType( String n )
   {
      name = n;
   }

   public String getName()
   {
      return name;
   }

运算符.java

public class Operator extends Token {

    protected opType val;

    public boolean isOperator() { return true; }
    public boolean isOperand() { return false; }

    protected int getPrec()
    {

        switch(val.getName())
        {
            case "LParen": 
            {
                return 0;
                break; //unreachable
            }

            case "RParen": 
            {
                return 0;
                break; //unreachable
            }

            case "Mult":
            {
                return 1;
                break; //unreachable
            }
            case "Div": 
            {   
                return 1;
                break; //unreachable
            }
            case "Mod": 
            {   
                return 1;
                break; //unreachable
            }
            case "Add": 
            {   
                return 2;
                break; //unreachable
            }
            case "Sub": 
            {   
                return 2;
                break; //unreachable
            }
        }

            return 0;
    }

    public static int compare( Operator a, Operator b )
    {
        if( a.getPrec() == b.getPrec() )
            return 0;
        else if( a.getPrec() < b.getPrec() )
            return -1;
        else
            return 1;
    }

    public opType getVal() { return val; }

    public Operator( opType v ) { val = v; }

}

如果你放一个return,那么函数在之前返回break被执行,因此break永远不会达到。

相反,您可以使用设置为所需值的变量,并在切换后返回该值。或者只是摆脱break声明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带 Break 的无法到达语句 的相关文章

  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 如何使用 FileChannel 将一个文件的内容附加到另一个文件的末尾?

    File a txt好像 ABC File d txt好像 DEF 我正在尝试将 DEF 附加到 ABC 所以a txt好像 ABC DEF 我尝试过的方法总是完全覆盖第一个条目 所以我总是最终得到 DEF 这是我尝试过的两种方法 File
  • 解决错误:日志已在具有多个实例的atomikos中使用

    我仅在使用atomikos的实时服务器上遇到问题 在我的本地服务器上它工作得很好 我在服务器上面临的问题是 init 中出错 日志已在使用中 完整的异常堆栈跟踪 java lang RuntimeException Log already
  • manifest.mf 文件的附加内容的约定?

    Java JAR 中的 MANIFEST MF 文件是否有任何超出 MANIFEST MF 约定的约定 JAR规范 http download oracle com javase 1 4 2 docs guide jar jar html
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • java中删除字符串中的特殊字符?

    如何删除字符串中除 之外的特殊字符 现在我用 replaceAll w s 它删除了所有特殊字符 但我想保留 谁能告诉我我该怎么办 Use replaceAll w s 我所做的是将下划线和连字符添加到正则表达式中 我添加了一个 连字符之前
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • 如何为 Gson 编写自定义 JSON 反序列化器?

    我有一个 Java 类 用户 public class User int id String name Timestamp updateDate 我收到一个包含来自 Web 服务的用户对象的 JSON 列表 id 1 name Jonas
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • Java直接内存:在自定义类中使用sun.misc.Cleaner

    在 Java 中 NIO 直接缓冲区分配的内存通过以下方式释放 sun misc Cleaner实例 一些比对象终结更有效的特殊幻像引用 这种清洁器机制是否仅针对直接缓冲区子类硬编码在 JVM 中 或者是否也可以在自定义组件中使用清洁器 例
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • com.jcraft.jsch.JSchException:身份验证失败

    当我从本地磁盘上传文件到远程服务器时 出现这样的异常 com jcraft jsch JSchException Auth fail at org apache tools ant taskdefs optional ssh Scp exe
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • javax.persistence.Table.indexes()[Ljavax/persistence/Index 中的 NoSuchMethodError

    我有一个 Play Framework 应用程序 并且我was使用 Hibernate 4 2 5 Final 通过 Maven 依赖项管理器检索 我决定升级到 Hibernate 4 3 0 Final 成功重新编译我的应用程序并运行它

随机推荐

  • 只检索更改的文档字段

    我发现监听文档变化会总是一遍又一遍地下载完整的文档 在以下情况下我遇到问题 文档的大小正在接近1 MiB 这是文档大小的限制 现在 有一个number场即仅字段更新 这只是几个字节 但是 收听此更改 例如对帖子的点赞 将始终下载完整的1 M
  • Firefox 在伪元素周围添加了奇怪的空间

    看看这些照片 JSFiddle链接在底部 firefox chrome 它们都是从 chrome 和 Firefox 中获取的相同元素 正如您所看到的 来自 Firefox 的元素在其顶部和左侧周围有一些空间 但来自 chrome 的元素没
  • Dompdf 在 Laravel 中封装其他语言支持

    我在 laravel 项目中使用 dompdf 包创建了我的 pdf 但是当我想渲染其他语言 孟加拉 而不是英语时 显示 div style margin 50px padding 10px div align center h2 Anti
  • C 拆分 CMD 参数

    我正在尝试做某事 但我可以 我有一个 C 程序 我想在其中解析所有参数 让我们更具体一点 EDIT 我在缓冲区中读取命令 而不是在程序以 argv 等启动时读取命令 我使用 fgets 从 STDIN 读取命令 假设我读了这样的命令行 ls
  • 根据列表索引组合字典列表

    我觉得这个问题以前肯定有人问过 但在 Stack Overflow 上找不到 有没有一种方法可以根据列表索引优雅地组合多个字典列表 见下文 list 1 hello world foo test list 2 a b c d result
  • 将 JSON IPython 笔记本 (.ipynb) 转换为 .py 文件

    如何转换 IPython 笔记本文件 json 与 ipynb扩展 到常规 py module 从笔记本菜单中 您可以将文件直接保存为 python 脚本 转到菜单的 文件 选项 然后选择 下载为 您将看到 Python py 选项 另一种
  • javascript,当右div隐藏时左div必须是100%宽度

    FIXED 通过将 mplungjan 的代码编辑为以下内容来修复它 function foo on click function if this is checked checked a show fast function checke
  • 错误 1452 MySQL

    向空表中插入数据 但出现错误 1452 我不知道为什么 MySQL 在错误中提到了 NameInfo 表 CREATE TABLE NameInfo Language VARCHAR 7 NOT NULL Status VARCHAR 13
  • 如何指定涉及中间局部变量引用的闭包的生命周期界限?

    我正在尝试用 Rust 编写一个如下所示的函数 fn double and square lt a T gt x a T gt whatever the output type of t t is let t x x t t 我希望它适用于
  • Spring Boot 不允许 URL 中通过百分比和反斜杠

    我们收到一个 get 请求 该请求在 url 中发送字符串字符 因此我们使用路径变量来接收它们 显然 调用服务无法更改其调用后端的方法 因此我们需要能够接受包含以下未编码字符的 url 当发送百分号 时 将返回 http 400 如果 后面
  • 为什么我们将 Loggers 声明为 static Final?

    在 Java 中 为什么声明记录器是最佳实践static final private static final Logger S LOGGER private 这样其他班级就不能hijack你的记录器 static 因此每个类只有一个记录器
  • 如何用 C# 编写解析器? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何用 C 编写解析器 递归下降 现在我只想要一个简单的解析器来解析算术表达式 并读取变量 虽然后来我打算编写一个 xml 和 html 解析器 用于学习目的 我这样做是因为解析
  • 所有 BlackBerry 设备的 UI 兼容性

    我为 BlackBerry 编写了一个简单的应用程序 并使用 9630 模拟器进行了测试 如何获得与所有模拟器兼容的 UI 设计 测试 测试 测试 如果您需要您的应用程序在所有模拟器上运行 那么获取所有模拟器并尝试一下 轮缘做得很好为您提供
  • 在python中读取PFM格式

    我想读书PFM使用 Python 格式化图像 我尝试过imageio read但它抛出一个错误 请问我可以有什么建议吗 img imageio imread image pfm 以下 Python 3 实现将解码 pfm 文件 下载示例纪念
  • 无法将 create_async() 与 WRL WinRT 组件一起使用

    我想使用 WRL 编写一个支持异步的 WinRT 组件 但我发现create async 即使我包括了 也是未定义的ppltask h and using namespace concurrency如何使用WRL模式创建后台任务 我的功能是
  • 获取 Spark ML 多层感知器分类器的输出层神经元值

    我正在使用 Spark ML 多层感知器分类器进行二元分类 mlp MultilayerPerceptronClassifier labelCol evt featuresCol features layers inputneurons i
  • map(&:name) 在此 Ruby 代码中做了什么?

    为了更好地理解 Ruby 我在网上冲浪时遇到了以下代码 require rubygems require activeresource ActiveResource Base logger Logger new File dirname F
  • 如何更改 Android M 中拒绝/授予的权限?

    我怎样才能让用户有机会更改应用程序中的权限 他已经设置了授予 拒绝 假设用户拒绝了权限 稍后他希望我们授予此许可 是否可以 我怎样才能做到这一点 如果用户拒绝了该权限 您可以检查该权限 如果他也检查了不再显示 在这种情况下 您可以打开自己的
  • 基于范围的 for 循环中 range-init 的生命周期是多少?

    在最新的 C 标准中 它意味着 for foo bar baz 相当于 auto r bar for auto it r begin end r end it end it foo it baz 当上面的 bar 是一个返回集合的函数调用时
  • 带 Break 的无法到达语句

    所以我之前有一个问题 但意识到我发布了错误的违规代码 我已在下面标记了令人反感的言论 我想要做的是使用该 switch 语句设置每个运算符的优先级 也许有人可以指出我正确的方向 请注意 我正在运行 JAVA 7 因此 String Swit