Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的术语是什么?_Java_Byte_Token_Readability_Term - Fatal编程技术网

Java中的术语是什么?

Java中的术语是什么?,java,byte,token,readability,term,Java,Byte,Token,Readability,Term,我正在实现一个应用程序,该应用程序使用Posnett、Hindle和Devanbu()提出的可读性公式计算Java文件的可读性 公式是:z=8.87-0.033*体积+0.40*行-1.5*熵 他们说,熵是根据术语(代币)的计数计算出来的 或字节)以及唯一术语和字节的数量 我做了一些研究,但在Java中找不到术语的定义。我发现的唯一一件事是,列出了一些“有用的Java术语”,但我不认为这些是Java中唯一的术语 P>那么,我应该把什么作为java术语呢?有人能给我一个解释吗?这不是Java特有

我正在实现一个应用程序,该应用程序使用Posnett、Hindle和Devanbu()提出的可读性公式计算Java文件的可读性

公式是:
z=8.87-0.033*体积+0.40*行-1.5*熵

他们说,
是根据术语(代币)的计数计算出来的 或字节)以及唯一术语和字节的数量

我做了一些研究,但在Java中找不到术语的定义。我发现的唯一一件事是,列出了一些“有用的Java术语”,但我不认为这些是Java中唯一的术语


<> P>那么,我应该把什么作为java术语呢?有人能给我一个解释吗?

这不是Java特有的。Java中有一个术语,您可以在JLS中找到它,但这不是他们所说的。他们谈论的是令牌或字节,一般来说,而不是特定于语言的。在一个地方标记和字节,这似乎是一个错误

这里的术语可以是字节或令牌,我们在本文中使用这两个术语。[重点补充]


你混淆了“术语”这个词的不同用法。两个相关定义是:

  • 在特定上下文中具有特殊含义的词/短语。生物老师可能会说:“一定要为明天的测验学习第14章的术语。”。这是“有用的Java术语”列表中“术语”的用法
  • 事物序列中的一个元素。例如,如果您有一个字符序列
    qwerty
    ,则
    w
    是一个术语,因为它是这些字符之一。这是熵计算中使用的定义。具体地说,“术语”可以是源代码中的单个字符(字节),或者是Java中的“标记”,它是指代码中在Java语法中表示一件事的任何部分(
    int foo=bar-3;
    包含标记
    int
    foo
    =
    bar
    -
    3

注意:当处理程序时,一个字节有时与一个字符同义,因为字符被存储在一个字节的内存中。

所以,你知道在这个特定的情况下,我应该考虑什么作为一个术语吗?应该是Java关键字吗?操作数?运算符?Java标记:关键字、标识符、文字、运算符、标点符号等。。。或字节。非常感谢您的回答!你完全满足了我的需要。但是,澄清一下:比如说,有代码,就有17个令牌和83个字节,对吗?我考虑过这些标记:
public
class
Example
{}
public
void
示例方法
系统
out
println
你好,世界!”
。我在计算代币时是否犯了一些错误?我会将
{
}
视为单独的代币,对于
也是如此。所以我数了21个代币。至于字节数,我们不清楚是否应该计算空白(缩进)——我只选择一些合理的数字(排除空白或不排除空白)。这个问题没有确切的答案。如果可以的话,我想再问你一个关于这个问题的问题。我在寻找一种计算代币的方法,找到了这个答案。我可以使用这个方法来计算Java令牌的数量,还是必须使用解析器来解析代码@pkpndCounting标记应使用解析器完成。这与您发布的问题有点离题了,所以如果您在使用解析器方面需要更多帮助,请发布一个新问题。