java文件的缩进排版

简易Java西文排版系统的设计与实现 Java是一种面向对象的编程语言,它具有跨平台、安全和稳定的特性。自1995年由Sun Microsystems公司发布以来,Java迅速成为最受欢迎的编程语言之一。Java的核心思想是“一次编写,到处运行”,这归功于其独特的编译和运行机制。首行缩进通常指段落的第一行较其他行缩进一定的距离,这种排版方式在西方排版学中称为“hanging indent”,即悬挂缩进。首行缩进常用于增加文档的可读性,区分段落,以及为文档添加视觉层次感。 阅读详情

java文件的缩进排版 
 
 
//以下是我做的java 文件的缩进排版,算法有缺点.但能用,
//不管怎么说,排java文件时比UltralEdit的排版强。

import java.io.File;
import java.io.PrintStream;
import java.util.ArrayList;
import lang9.Str9;
import lang9.out;
import util9.Load9;

class DentJavaCode
{

    public static boolean dent(File file, File file1)
    {
        String as[] = new String[1];
        if(file == null || !file.exists())
        {
            return false;
        } else
        {
            as = Load9.copy(file, as);
            ArrayList arraylist = new ArrayList();
            dent(as, arraylist, 0);
            as = (String[])arraylist.toArray(as);
            out.b("s.len=" + as.length);
            Load9.copy(as, file1);
            return true;
        }
    }

    public static int dent(ArrayList arraylist, ArrayList arraylist1, int i)
    {
        if(arraylist == null && arraylist.size() == 0)
        {
            System.out.println("dent frm list1,but list1 isnull");
            return i;
        }
        if(arraylist1 == null)
        {
            System.out.println("dent to list2,but list2 is null");
            return i;
        } else
        {
            String as[] = new String[1];
            as = (String[])arraylist.toArray(as);
            return dent(as, arraylist1, i);
        }
    }

    public static String[] dent(String as[], String as1[], int i)
    {
        ArrayList arraylist = new ArrayList();
        dent(as, arraylist, i);
        if(as1 == null)
            as1 = new String[1];
        return (String[])arraylist.toArray(as1);
    }

    public static int dent(String as[], ArrayList arraylist, int i)
    {
        int j = as.length;
        boolean flag = false;
        if(as == null || as.length == 0)
        {
            System.out.println("dent from s[],but s[] is null");
            return i;
        }
        if(arraylist == null)
        {
            System.out.println("dent to list,but list is null");
            return i;
        }
        for(int l = 0; l < as.length; l++)
        {
            if(as[l] == null)
                continue;
            as[l] = as[l].trim();
            int k = as[l].length();
            if(k == 0)
                continue;
            int i1 = Str9.indexOf_outQuotes(special, as[l]);
            if(i1 < 0)
            {
                if(flag)
                    arraylist.add(space(2) + as[l]);
                else
                    arraylist.add(space(i) + as[l]);
                continue;
            }
            String s = as[l].substring(i1);
            if(s.indexOf("{") == 0)
                s = "{";
            else
            if(s.indexOf("}") == 0)
                s = "}";
            else
            if(s.indexOf("//") == 0)
                s = "//";
            else
            if(s.indexOf("*/") == 0)
                s = "*/";
            else
            if(s.indexOf("/*") == 0)
                s = "/*";
            if(s.equals("//"))
            {
                if(i1 > 0)
                {
                    arraylist.add(space(i) + as[l].substring(0, i1));
                    arraylist.add(space(i) + as[l].substring(i1));
                } else
                {
                    arraylist.add(space(i) + as[l]);
                }
                continue;
            }
            if(s.equals("*/"))
            {
                flag = false;
                if(i1 > 0)
                    arraylist.add(space(2) + as[l].substring(0, i1));
                arraylist.add("*/");
                i1 += 2;
                if(k > i1)
                {
                    as[l] = as[l].substring(i1);
                    l--;
                }
                continue;
            }
            if(s.equals("/*"))
            {
                flag = true;
                if(i1 > 0)
                {
                    arraylist.add(space(i) + as[l].substring(0, i1));
                    as[l] = as[l].substring(i1);
                }
                if((i1 = Str9.indexOf_outQuotes("*/", as[l], i1 + 2)) != -1)
                {
                    flag = false;
                    i1 += 2;
                    arraylist.add(as[l].substring(0, i1));
                    if(as[l].length() > i1)
                    {
                        as[l] = as[l].substring(i1);
                        l--;
                    }
                    continue;
                }
                if(as[l].length() <= 0)
                    continue;
                arraylist.add("/*");
                as[l] = as[l].substring(2);
                if(as[l].length() > 0)
                    arraylist.add(space(2) + as[l]);
                continue;
            }
            if(s.equals("{"))
            {
                i1++;
                if(as[l].indexOf("//") == i1)
                {
                    arraylist.add(space(i) + as[l]);
                    i += increment;
                    continue;
                }
                arraylist.add(space(i) + as[l].substring(0, i1));
                i += increment;
                if(k > i1)
                {
                    as[l] = as[l].substring(i1);
                    l--;
                }
                continue;
            }
            if(s.equals("}"))
            {
                arraylist.add(space(i) + as[l].substring(0, i1));
                i -= increment;
                i1++;
                if(k > i1 && as[l].charAt(i1) == ';')
                {
                    arraylist.add(space(i) + "};");
                    i1++;
                    if(k > i1)
                    {
                        as[l] = as[l].substring(i1);
                        l--;
                    }
                    continue;
                }
                if(as[l].indexOf("}//") == 0)
                {
                    System.out.println("2s[i]=" + as[l] + ",indent=" + i);
                    arraylist.add(space(i) + as[l]);
                    continue;
                }
                arraylist.add(space(i) + "}");
                if(k > i1)
                {
                    as[l] = as[l].substring(i1);
                    l--;
                }
            } else
            {
                arraylist.add(space(i) + as[l]);
            }
        }

        return i;
    }

    static String space(int i)
    {
        return Str9.repeat(' ', i);
    }

    public DentJavaCode(File file)
    {
        String as[] = null;
        as = Load9.copy(file, as);
        ArrayList arraylist = new ArrayList();
        dent(as, arraylist, 0);
        String s = file.getName();
        int i = 0;
        boolean flag = false;
        File file1;
        file1 = file1 = new File(s + "dent0");
        i = 1;
        do
        {
            if(i >= 5)
                break;
            file1 = new File(s + "dent" + i);
            if(!file1.exists())
                break;
            i++;
        } while(true);
        if(file1.exists())
            file1.delete();
        if(file.renameTo(file1))
        {
            String as1[] = (String[])arraylist.toArray(as);
            Load9.copy(as1, file);
            System.out.println("ok");
        } else
        {
            System.out.println("rename:false");
        }
    }

    public static void main(String args[])
    {
        String args1[] = new String[1];
        File file = new File(args[0]);
        args1 = Load9.copy(file, args1);
        ArrayList arraylist = new ArrayList();
        dent(args1, arraylist, 0);
        File file1 = new File(args[0] + "dent0");
        int i = 1;
        do
        {
            if(i >= 5)
                break;
            file1 = new File(args[0] + "dent" + i);
            if(!file1.exists())
                break;
            i++;
        } while(true);
        if(file1.exists())
            file1.delete();
        String args2[] = (String[])arraylist.toArray(args1);
        if(file.renameTo(file1))
        {
            Load9.copy(args2, file);
            System.out.println("ok");
        } else
        {
            System.out.println("rename:false");
        }
    }

    static int increment = 3;
    public static String special[] = {
        "{", "}", "//", "/*", "*/"
    };

}
 

电能质量仿真:电能质量改善措施仿真_(12).电能质量改善措施综合仿真案例 假设我们有一个微电网系统,该系统包含分布式电源(如光伏板、风力发电机)、储能设备、负荷和电网连接。电压波动:由于负荷的波动和分布式电源的间歇性输出,系统电压出现了不稳定的情况。谐波污染:非线性负荷和逆变器的运行导致系统中出现了显著的谐波污染。频率偏差:分布式电源的波动和负荷的突变导致系统频率出现了偏差。我们需要通过仿真来评估这些问题的影响,并提出相应的改善措施。 阅读详情

相关推荐

计算机组成原理课设

计算机组成原理课程设计

qq_63306482的博客 8055

java中trim_JAVA中trim()函数使用方法

1. String.trim()trim()是去掉首尾空格2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间Stringstr="hello";Stringstr2=str.replaceAll("","");System.out.println(str2);3.或者replaceAll(" +",""); 去掉所有空格4.str = .replac...

weixin_39960710的博客 7009

876-基于STM32的毫米波雷达智能睡眠监测系统

基于STM32的毫米波雷达智能睡眠监测系统通过非接触式毫米波雷达检测人体呼吸频率和体动次数,结合WIFI数据传输和OLED显示,实现睡眠质量分析与远程监控。系统核心功能包括生理参数采集、阈值设置、数据可视化及远程交互。

m0_50083169的博客 1543

Java代码规范指南

在 Java 编程中,常量就像是代码中的 “定海神针”,其值一旦设定便不可更改。常量的命名规范要求全部使用大写字母,当常量名由多个单词组成时,单词之间用下划线分隔,这样能让常量名一目了然,清晰地传达其代表的含义。比如在一个电商项目中,定义商品的最大折扣率常量,可以写成MAX_DISCOUNT_RATE;在数学计算相关的代码中,定义圆周率常量为PI。常量的使用场景十分广泛。在数学计算中,像PI、E(自然常数)等数学常量是不可或缺的,它们确保了计算的准确性和一致性。

心猿意码 1211

动态规划法:n*m方格前进问题

在一个n*m的方格中,m为奇数,放置有n*m个数,方格中间的下方有一人,此人可按照正前方相临的五个方向(方格)前进但不能越出方格。人每走过一个方格必须取此方格中的数。要求找到一条从底到顶的路径,使其数相加之和为最大。输出和的最大值。 算法设计: 可以使用动态规划方法,从顶部开始,将第二排的每个数加上顶部第一排的最优解,将6排的问题缩小为5排的问题,然后重复该操作,直到底部最后一排,此时

Winifred_1997的博客 4675

水文模型大合集---SWAT模型、VIC模型、HEC-HMS模型、HSPF模型、FVCOM模型、Delft3D模型、HYPE模型.......

1.1 面源污染概要1.2 SWAT模型及应用1.3 SWAT模型原理1.4 SWAT模型输入文件1.5 ArcGIS与SWAT关系。

jwwkyjspt的博客 4359

Java使用spire 设置 Word 中的段落缩进方式(左缩进、右缩进、首行缩进和悬挂缩进)

Java使用spire 设置 Word 中的段落缩进方式(左缩进、右缩进、首行缩进和悬挂缩进)

roc_wl的博客 1202

SAP MM新手避坑指南:工厂间调拨用301还是303?手把手教你选对移动类型

本文深入解析SAP MM模块中工厂间调拨的301与303移动类型,帮助新手避开常见陷阱。通过对比一步法(301)和两步法(303+305)的核心差异、适用场景及财务影响,提供清晰的决策框架和实战技巧,确保库存调拨的准确性和效率。

weixin_29223603的博客 346

java 缩进_java编码规范_缩进和注释

1.缩进排版(Indentation)4个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格vs.制表符)。一个制表符等于n个空格(视具体的编辑器而定,Eclipse默认一个制表符为4个字符)。3.1行长度(Line Length)尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理之。注意:鉴于Eclipse开发工具工作区的左侧和右侧都被非代码...

weixin_34620658的博客 2818

PCL1.12.1+VTK9.1+Qt5.14.2实战:解决QVTKOpenGLNativeWidget点云渲染窗口初始化报错问题

本文针对PCL1.12.1、VTK9.1与Qt5.14.2集成开发中,QVTKOpenGLNativeWidget点云渲染窗口初始化时出现的报错与黑屏问题,提供了深度分析与两种实战解决方案。核心在于理解VTK版本升级导致的渲染窗口类型不匹配,并指导开发者通过显式创建vtkGenericOpenGLRenderWindow或利用窗口ID嵌入,正确初始化并绑定可视化组件,从而稳定实现点云渲染。

weixin_29284657的博客 221

SAP Fiori 从技术上而言到底包含哪些组件?

SAP Fiori是企业级UX设计的系统化解决方案,基于五大原则构建:角色导向(Role-based)、自适应(Adaptive)、简洁(Simple)、一致(Coherent)和愉悦(Delightful)。其技术实现包含SAPUI5开发框架、Fiori Launchpad统一入口、OData服务网关等核心组件,通过标准化设计模式与开发工具链,显著提升企业应用的用户体验和开发效率。典型案例显示,遵循Fiori原则可缩短30%以上的操作时长,降低50%的培训成本。该体系既保持跨设备一致性,又支持业务场景的深

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 223

java写一个方法转换文件大小_Java语言编码规范(1)(转)

Java语言编码规范(1)(转)[@more@]2 文件名(File Names)这部分列出了常用的文件名及其后缀。2.1 文件后缀(File Suffixes)Java程序使用下列文件后缀:文件类别 文件后缀Java源文件 .javaJava字节码文件 .class2.2 常用文件名(Common File Names)常用的文件名包括:文件名 用途GNUmakefile makefiles的首...

weixin_39968724的博客 151

27、物联网中的量子密钥分发:安全通信新范式

本文探讨了物联网(IoT)快速发展所带来的安全挑战,并提出量子密钥分发(QKD)作为应对新兴威胁的新范式。文章详细介绍了QKD的基础原理、BB84协议的实现流程以及其在物联网中的应用前景,同时强调了安全专业人员提升技能、制定标准化指南以及跨学科合作的重要性。通过利用量子力学特性,QKD能够提供更高的通信安全性,抵御量子计算等未来威胁,为物联网的安全发展提供保障。

tequila的博客 156

Java语言编码规范

 名称 Java语言编码规范(Java Code Conventions)  译者 晨光(Morning)  简介 本文档讲述了Java语言的编码规范,较之陈世忠先生《c++编码规范》的浩繁详尽,此文当属短小精悍了。而其中所列之各项条款,从编码风格,到注意事项,不单只Java,对于其他语言,也都很有借鉴意义。因为简短,所以易记,大家不妨将此作为handbook,常备案头,逐一对验。  声明 如需复

沙振中 988

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java 编程规范

Java 编程规范目 录1 介绍(Introduction)......................................................................................................... 41.1 为什么要有编码规范(Why Have Code Conventions)...............

roman's blog 944

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【转】Java编码规范,在您进行编码之前应该阅读的规范

本文转载于:http://www.web3d.com.cn/new/teach/java3d/2006/11/13/363276161.html   Java编码规范 说明 1.1 为什么要有编码规范 编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维护。 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。 编码规范可以改善软件...

BigDragon 151

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java语言编码规范(1)

Java语言编码规范 原文出处http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html 2 文件名(File Names) 这部分列出了常用的文件名及其后缀。 2.1 文件后缀(File Suffixes) Java程序使用下列文件后缀: 文件类别 文件后缀 Java源文件 .java Java字节码文件 .class 2.2 常用文件

宏轩JAVA技术专栏 1457

Java语言编码规范(Java Code Conventions)

<br /> <br />Java语言编码规范(Java Code Conventions)<br /><br />概述<br />本文档讲述了Java语言的编码规范,较之陈世忠先生《c++编码规范》的浩繁详尽,此文当属短小精悍了。而其中所列之各项条款,从编码风格,到注意事项,不单只Java,对于其他语言,也都很有借鉴意义。因为简短,所以易记,大家不妨将此作为handbook,常备案头,逐一对验。<br /> 目录<br />1 介绍<br />• 1.1 为什么要有编码规范<br />• 1.2 版权声明

rosonex的专栏 569

Java语言编码规范(参考)

 Java语言编码规范(Java Code Conventions)  名称 Java语言编码规范(Java Code Conventions) 译者   简介 本文档讲述了Java语言的编码规范,较之陈世忠先生《c++编码规范》的浩繁详尽,此文当属短小精悍了。而其中所列之各项条款,从编码风格,到注意事项,不单只Java,对于其他语言,

zackwang2006的博客 590

java代码_Java架构-Java代码规范那些事

Java开发中所要遵守的编码规范大体上有如下7点。命名规范、注释规范、缩进排版规范、文件名规范、声明规范、语句规范以及编程规范。1.命名规范(1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z)、数字(0-9)和下划线“_”。(2)一个唯一包名的前缀总是全部小写的字母。例如:http://www.tonysun.cc(3)类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。例如:Tony...

weixin_39945531的博客 108

java编程规范

Java编码规范 说明 1.1 为什么要有编码规范 编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维护。 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。 为了执行规范,每个软件开发人员必须一致遵守编码规范。每个人!!! 1.2版权声明 本文档反映的是Sun Mic

edg_edu的专栏 234

Java编码规范(zz)

Java编码规范说明1.1 为什么要有编码规范编码规范对于程序员而言尤为重要,有以下几个原因:一个软件的生命周期中,80%的花费在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。为了执行规范,每个软件开发人员...

MatthewChen Piscesky 392

Java编码规范

1 介绍(Introduction) 1.1 为什么要有编码规范(Why Have Code Conventions) 编码规范对于程序员而言尤为重要,有以下几个原因: - 一个软件的生命周期中,80%的花费在于维护 - 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 - 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码 - 如果你将源码作为产品发...

Learning Correcting Improving 135

java 编程的规范

原文:http://www.cnblogs.com/jifeng/p/4937634.html 1 介绍(Introduction) 1.1 为什么要有编码规范(Why Have Code Conventions) 编码规范对于程序员而言尤为重要,有以下几个原因: - 一个软件的生命周期中,80%的花费在于维护 - 几乎没有任何一个软件,在其整个生命周期中,均由最初的

hxdafei1989的博客 681
上一篇: 目录的递归遍历
下一篇: 删除java的注释信息的源码
CodingMouse
博客等级 码龄19年 82粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值