相关疑难解决方法(0)

通过字符串检测变量

我正在创建一个简单的IDE使用JTextPane和检测关键字并着色它们.

目前,我能够检测到:

  1. 评论
  2. 字符串文字
  3. 整数和浮点数
  4. 关键词

我检测这些类型的方式是通过正则表达式.

现在,我试图检测像[int x = 10;] 这样的变量并将它们着色为不同的颜色.

目前,我能够使用以下正则表达式获取所有数据类型,如int,float char:

Pattern words = Pattern.compile(\\bint\\b|\\bfloat\\b\\bchar\\b);
Matcher matcherWords = words.matcher(code);
while (matcherWords.find()) {
    System.out.print(code.substring(matcherWords.start(), matcherWords.end());
    // How to get next word that is a variable?
}
Run Code Online (Sandbox Code Playgroud)

以下是我的程序的示例输出:

在此输入图像描述

我怎么能够检测变量一样a,b,c之后我能察觉int,float等等?

java regex variables

12
推荐指数
1
解决办法
250
查看次数

在Java/Android中将参数放在参数之前有什么意义?

在任何变量或参数之前放置$符号的区别或意义是什么?

例如

假设这是我的班级......

 public class Vector3 {
      public Vector3(float x, float y, float z){
           //...
          //... my ctor code
          //...
      }
 }
Run Code Online (Sandbox Code Playgroud)

这两个声明之间的区别是什么......

宣言1

 Vector3 $vec = new Vector3(1f,1f,1f);
Run Code Online (Sandbox Code Playgroud)

宣言2

 Vector3 vec = new Vector3(1f,1f,1f);
Run Code Online (Sandbox Code Playgroud)

如果您在声明1和声明2中的"vec"之前注意到$ sign.

有线索吗?

另外,声明与下面相同的构造函数,

public class Vector3 {

    public Vector3(float $x, float $y, float $z){
    //...
    //... my ctor code
    //...
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的构造函数和初始构造函数有什么区别?

谢谢...

编辑:感谢你的所有回复,我用不同的组合做了这个,没有重大意义:)我感谢你的所有答案.

java android

3
推荐指数
3
解决办法
3655
查看次数

标签 统计

java ×2

android ×1

regex ×1

variables ×1