Eclipse的花括号(brace)的输入偏好问题

 

最近在看系列风中叶(张龙)老师的一些关于Java方面的视频,发现风老师每次在写一些方法的时候,那个花括号和我的不一样,我前面一直以为是老师经过手工修改的,这样有助于我们的习惯阅读,后来,越来越多的看见风老师并没有修改而是自动由Eclipse IDE生成的,我很纳闷,上网搜了一些,有一个思路,但不是很详细,现小弟特写此博文,希望能帮助大家。谢谢支持。

 

 

一、原Eclipse生成的花括号情形

 

public class test {

   

    public static void main(String[] args) {

      

       System.out.println("Eclipse的花括号(brace)的输入偏好问题解决思路");

      

       System.out.println("这是原Eclipse生成的花括号情形");

    }

 

}

 

 

二、经过修改生成的花括号情形

 

public class test1

{

    public static void main(String[] args)

    {

       System.out.println("Eclipse的花括号(brace)的输入偏好问题解决思路");

      

       System.out.println("经过修改生成的花括号情形");

    }

 

}

 

是不是很符合我们的编码习惯

 

 

三、如何修改?

 

 

网络上提供的思路是Windows->Preferences->Java->Code Style->Formatter

 

经过我的尝试,可以配置里面的使用,就可以达到目的,现将方法介绍如下。

 

根据搜到的思路,找到Windows->Preferences->Java->Code Style->Formatter(这应该没有什么好说的吧)

clip_image002

 

看到Edit没有,点击进去

clip_image004

看到一个标签Braces,这就是花括号的配置选项,其中每一个的意思请大家自己理解一下,如果不明白的,可以借助一些工具翻译一下,或者最笨的方法就是一个一个尝试一下就知道它的用途了。

但你修改一个后,会发现Eclipse会报一个警告

clip_image006

大致意思是built-in是一个内置的文件,我们可以新建一个(并改名)

好,我就新建一个,先退回到原先的界面(第一个图)里面有一个New的,单击clip_image008

一定要选择好profile,后面OK,会打开配置,这个时候,选择Braces标签,修改里面的选项(一般都选Next line)推荐大家除了最后一个不修改外其他的都选择Next line,Apply->OK->OK。clip_image010

 


 Control statements 设置 general全选,if else  只选 keep else if on one line

 

搞定,现在自己看看修改后的效果吧(类似上面二经过修改生成的花括号情形)

 

(转http://www.blogjava.net/lishunli/archive/2010/01/07/308603.html)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,根据您的要求,我来为您解答这个问题。 首先,我们需要明确这个问题的大致思路: 1. 读取输入的C源程序文件 2. 忽略注释中的括号 3. 遍历源程序,统计括号的最大嵌套层次 4. 输出括号的最大嵌套层次数并按出现的先后顺序输出括号 那么,我们可以将程序分为以下几个类: 1. `FileReader`类:用于读取输入的C源程序文件。 2. `BraceParser`类:用于解析C源程序中的括号,统计嵌套层数并输出嵌套序列。 3. `Main`类:用于程序入口和调用。 接下来,我们来分别实现这些类。 `FileReader`类实现代码如下: ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class FileReader { private String filePath; public FileReader(String filePath) { this.filePath = filePath; } public String read() throws IOException { BufferedReader br = new BufferedReader(new FileReader(filePath)); StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); } return sb.toString(); } } ``` 该类接受一个文件路径作为参数,并提供一个`read()`方法,用于读取文件内容并返回字符串。 `BraceParser`类实现代码如下: ```java import java.util.ArrayList; import java.util.List; public class BraceParser { private String sourceCode; public BraceParser(String sourceCode) { this.sourceCode = sourceCode; } public void parse() { int maxDepth = 0; int curDepth = 0; List<String> braceList = new ArrayList<>(); boolean inComment = false; for (int i = 0; i < sourceCode.length(); i++) { char c = sourceCode.charAt(i); if (inComment) { if (c == '*' && i < sourceCode.length() - 1 && sourceCode.charAt(i + 1) == '/') { inComment = false; i++; } } else { if (c == '/' && i < sourceCode.length() - 1 && sourceCode.charAt(i + 1) == '*') { inComment = true; i++; } else if (c == '{') { curDepth++; if (curDepth > maxDepth) { maxDepth = curDepth; } braceList.add("{"); } else if (c == '}') { braceList.add("}"); curDepth--; } } } System.out.println("Max depth: " + maxDepth); System.out.println("Brace sequence:"); for (String brace : braceList) { System.out.print(brace); } } } ``` 该类接受一个源程序字符串作为参数,并提供一个`parse()`方法,用于解析括号并输出嵌套序列。解析过程中,我们需要注意注释中的括号应被忽略,不参与统计。 `Main`类实现代码如下: ```java import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { FileReader reader = new FileReader("input.c"); String sourceCode = reader.read(); BraceParser parser = new BraceParser(sourceCode); parser.parse(); } } ``` 该类用于程序的入口和调用,我们通过`FileReader`类读取输入的C源程序文件,然后将读取到的字符串传递给`BraceParser`类进行解析和输出。 好了,现在我们已经完成了程序的实现。您可以将上述代码保存到三个不同的java文件中,分别为`FileReader.java`、`BraceParser.java`和`Main.java`,然后编译并运行`Main.java`,即可得到您想要的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值