【问题标题】:Count Control structures计数控制结构
【发布时间】:2015-05-19 18:42:00
【问题描述】:

我想在一个简单的 Java 类中计算使用的控制结构(IF - statmens、switch case、..),并将数量简单地保存在一个变量中。

你们知道我该怎么做吗?

【问题讨论】:

    标签: java counting control-structure


    【解决方案1】:

    如果我正确解释了您的问题,这是关于从文本文件中读取模式的问题。

    如果您只想让程序检查另一段代码,您可以像读取文本文件一样读取 .java。

    当您遇到ifswitch 之类的词时,请在变量中添加一个。

    当然,您需要确保您没有阅读注释行 (即忽略// 之后而不是/* */ 内的那些)


    那么你是怎么做到的呢?

    您可以将代码行读取为String,使用contains 等字符串方法,甚至使用Java 中的正则表达式来检查该字符串是否包含您要查找的单词。

    您还可以记下; 等字符,以帮助确定代码中语句的结尾。

    【讨论】:

    • 这个想法是生成一个随机图,其中包含随机数量的节点和这些节点之间的随机边定义。这些节点具有在运行时使用的控制结构的数量和数量。我想要的是有一个解释器类,它计算每个节点内使用的控制结构(例如,如果语句,..)的数量,因此在一个图中。目的是我可以节省使用量,例如用于进一步目的的 if 语句、switch-case 操作等。
    • 所以你的图表将由另一段java代码生成。生成图后,计算可能涉及 x 次条件检查(取决于图上的边数)。您有兴趣编写代码来计算这些条件检查的数量吗?这是你说的吗?顺便问一下,解释器类是什么意思?
    • 图生成后,程序会遍历图结构。如果一个节点有不止一条边,它将通过随机函数选择一条边。根据一个节点有多少条边,它或多或少有需要检查的 if 语句。因此,当我对条件检查提出正确的问题时,是的,我想编写计算这些检查的代码。解释器类只是将所有这些检查加在一起并检查整个过程持续了多长时间。但是那个类对于那个问题并不那么重要^^
    【解决方案2】:

    一般来说,关于源结构的信息不会保留在运行时类中。编译器可能会对其进行更改、优化、添加等等。

    如果你真的是指对源文件而不是类的词法分析,有一些包可以帮助你做到这一点 - 但你必须将源传递给它们,结果不会(最多 O () 表示法)反映这些计数的运行时值。

    【讨论】:

      猜你喜欢
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      相关资源
      最近更新 更多