精华内容
下载资源
问答
  • Java 中给数字左边补0方法

    千次阅读 2018-03-29 15:52:41
    Java 中给数字左边补0(1)方法一import java.text.NumberFormat;public class NumberFormatTest { public static void main(String[] args) { //待测试数据 int i = 1; //得到一个NumberFormat的实例 Number.....

    Java 中给数字左边补0

    (1)方法一
    import java.text.NumberFormat;

    public class NumberFormatTest {

        public static void main(String[] args) {
            //待测试数据
            int i = 1;
            //得到一个NumberFormat的实例
            NumberFormat nf = NumberFormat.getInstance();
            //设置是否使用分组
            nf.setGroupingUsed(false);
            //设置最大整数位数
            nf.setMaximumIntegerDigits(4);
            //设置最小整数位数   
            nf.setMinimumIntegerDigits(4);
            //输出测试语句
            System.out.println(nf.format(i));
        }
    }

     


    来源:http://blog.csdn.net/xiaohunzhang/archive/2008/08/07/2782592.aspx

     

     

    (2)方法二(个人以为该方法简单有效,但经试验似乎String.format()函数有问题)

    1. public class TestStringFormat {      
    2.   public static void main(String[] args) {      
    3.     int youNumber = 1;      
    4.     // 0 代表前面补充0      
    5.     // 4 代表长度为4      
    6.     // d 代表参数为正数型      
    7.     String str = String.format("%04d", youNumber);      
    8.     System.out.println(str); // 0001      
    9.   }      
    10. }    
    展开全文
  • java补充0 java数字左侧补零补0 NumberFormat实现数字左侧补0 一、提出需求 1、在做一个编号生成规则中,有个规则如下: 编码序号为 5 位数,不足部分左侧补0。 二、代码实现 1、使用 java.text....

           java补充0 java数字左侧补零补0 NumberFormat实现数字左侧补0

     

    一、提出需求

    1、在做一个编号生成规则中,有个规则如下: 编码序号为 5 位数,不足部分左侧补0

     

    二、代码实现

    1、使用 java.text.NumberFormat 实现

    /**
     * description: 格式化数字,实现左侧补 0.
    * @param num  格式化的数字
     * @param min  最小位数
    * @param max  最大位数
     * @return String
     * @version v1.0
     * @author w
     * @date 2019年7月19日 下午2:08:31
     */
    public String fill(int num , int min , int max) {
    	NumberFormat numberFormat = NumberFormat.getInstance();
    	// 禁用数字格式化分组。 如:  000,001
    	numberFormat.setGroupingUsed(false); 
    	// 保留最小位数
    	numberFormat.setMinimumIntegerDigits(min);
    	// 保留最大位数
    	numberFormat.setMaximumIntegerDigits(max);
    	return numberFormat.format(num);
    }

    2、使用 String.format 实现

    /**
     * description: 使用 String.format 格式化数字,实现左侧补 0
     * @param num  需要格式化的数字
     * @param digit 生成字符串长度(保留数字位数)
     * @return String
     * @version v1.0
     * @author w
    * @date 2019年7月19日 下午2:14:31
     */
    public String fillString(int num , int digit) {
    		/**
    		 * 0:表示前面补0
    		* digit:表示保留数字位数
    		 * d:表示参数为正数类型
    		 */
    	return String.format("%0"+digit+"d", num);
    }

     

    三、测试

    1、 测试 NumberFormat 实现 左侧补 0

    @Test
    public void testOne() {
    	/**
    	*  需求: 编码序号为 5 位数,不足部分左侧补 0 
    	*  即: max = min =5 
    	 */
    	String fill = fill(2, 5, 5);
    	System.out.println(fill);
    	fill = fill(233, 5, 5);
    	System.out.println(fill);
    }

     

    2、结果如下:

    00002

    00233

    符合条件,达到预期结果!

     

    3、 测试 String.format 实现左侧补0

    @Test
    public void testTwo() {
    	String fillString = fillString(1 , 5);
    	System.out.println(fillString);
    	fillString = fillString(110 , 5);
    	System.out.println(fillString);
    }

    4、结果如下:

    00001

    00110

    符合条件,达到预期结果!

     

    四、总结

    1、NumberFormat 可以实现数字补0,同时支持设置 最大、最小位数,对数字处理更灵活

    2、String.format 可以实现数字补0,但不仅仅限于补0,也可以填充其他的数字、或者字符,对字符处理更灵活

    3、只要能实现需求就好,不必纠结那个好!

     

     

    参考资料: String.format()用法

    展开全文
  • /* 需求:数字金字塔 第i行 空格数量 左边数字 右边的数字 | 1 | i==1 3个 1到1 0(没有数字) | 121 | i==2 2个 1到2 1到1 | 12321 | i==3 1个 1到3 2到1 | 1234321 | i
    /*
        需求:数字金字塔      第i行  空格数量     左边的数字     右边的数字
        |    1    |        i==1     3个        1到1          0(没有数字)
        |   121   |        i==2     2个        1到2          1到1
        |  12321  |        i==3     1个        1到3          2到1
        | 1234321 |        i==4     0个        1到4          3到1
     */
    import java.util.Scanner;
    public class JinZiTa {
        public static void main(String[] args){
            Scanner input=new Scanner(System.in);
            System.out.print("请输入你总共要多少行:");
            int line=input.nextInt();        //i是会变的循环变量,line是我们输入的总行数;  两个变量所表示的内容(值)是不同的!!
            int i,j;                         //j是小循环内的变量,更会变!随着for循环括号内的条件进行变化!
            for(i=1;i<=line;i++){            //用line控制输入的行数
                for(j=1;j<=line-i;j++){      //用空格占位,空格数j==输入的行数line-i变量   输入4行(line),空格数=(4-1)=3  |  输入5行(line),空格数=(5-1)=4
                    System.out.print(" ");
                }
                for(j=1;j<=i;j++){           //这里的j是左边的数字,从规律中看到:i等于多少,j就是多少,所以j<=i
                    System.out.print(j);
                }
                for(j=i-1;j>=1;j--){         //这里的j是右边的数字,这里的j的初始值不同,终点判定条件也不同,for循环括号内的变化量用的是【递减】
                    System.out.print(j);     //当i在第一行,(i==1),j==0==(i-1);            变化量:j--;
                }                            //当i在第二行,(i==2),j==2-1==1==(i-1);       变化量:j--;
                System.out.println();        //当i在第三行,(i==3),j==3-1==2-1==1==(i-1);  变化量:j--;
            }                                //当i在第四行,(i==4),j==4-1==3-1==2-1==(i-1);变化量:j--;
        }
    }
    

    输出的内容如下:

    请输入你总共要多少行:5
        1
       121
      12321
     1234321
    123454321
    
    展开全文
  • (1)方法一 ...import java.text.NumberFormat; public class NumberFormatTest { public static void main(String[] args) { //待测试数据 int i = 1; //得到一个NumberFormat的实例 NumberFo...

    (1)方法一

    import java.text.NumberFormat;
    
    public class NumberFormatTest {
    
        public static void main(String[] args) {
            //待测试数据
            int i = 1;
            //得到一个NumberFormat的实例
            NumberFormat nf = NumberFormat.getInstance();
            //设置是否使用分组
            nf.setGroupingUsed(false);
            //设置最大整数位数
            nf.setMaximumIntegerDigits(4);
            //设置最小整数位数    
            nf.setMinimumIntegerDigits(4);
            //输出测试语句
            System.out.println(nf.format(i));
        }
    }

    (2)方法二(个人以为该方法简单有效,但经试验似乎String.format()函数有问题)

    public class TestStringFormat {      
      public static void main(String[] args) {      
        int youNumber = 1;      
        // 0 代表前面补充0      
        // 4 代表长度为4      
        // d 代表参数为正数型      
        String str = String.format("%04d", youNumber);      
        System.out.println(str); // 0001      
      }      
    }

    有时候我们需要固定长度的字符串做流水号,每添加一个记录时流水号的值加1,
    而流水号的长度保持不变。

    一般的做法是先把流水号转换为数值型,然后此数值加1,再把数值转换为字符串,
    长度不够流水号长度时再在前面补0:

    //流水号加1后返回
    public static String haoAddOne(String liuShuiHao){
        Integer intHao = Integer.parseInt(liuShuiHao);
        intHao++;
        String strHao = intHao.toString();
        while (strHao.length() < liuShuiHao.length())
            strHao = "0" + strHao;
        return strHao;
    }

    (3)方法3.用java中的DecimalFormat,可以简化:

    //流水号加1后返回,流水号长度为4
    private static final String STR_FORMAT = "0000"; 
    
    public static String haoAddOne(String liuShuiHao){
        Integer intHao = Integer.parseInt(liuShuiHao);
        intHao++;
        DecimalFormat df = new DecimalFormat(STR_FORMAT);
        return df.format(intHao);
    }

    转载:https://www.cnblogs.com/sandyflower/p/3628606.html

    展开全文
  • Java 中给数字左边补0(1)方法一import java.text.NumberFormat;public class NumberFormatTest { public static void main(String[] args) { //待测试数据 int i = 1; //得到一个NumberFormat的实例 
  • Java实现罗马数字转换为阿拉伯数字个人原创,谢谢支持逻辑规则实现代码 个人原创,谢谢支持 代码个人编写,实测有效,,欢迎转载文本链接。 逻辑规则 给定一个罗马数字s,( I<=s<=MMMCMXCIX)(即1到3999)...
  • PTA46题(Java基础练习)

    万次阅读 多人点赞 2019-10-03 20:40:59
    Java作业练习(1) 这学期Java课的第一次作业嗷 (做完再删掉这句话) 我觉得可以 7-1 写一个程序,输出你的姓名、年龄、所在学院、所在专业、所在班级 写一个程序,输出你的姓名、年龄、所在学院、所在专业、所在班级...
  • java实现第一个数字

    万次阅读 多人点赞 2019-07-30 12:20:21
    以下的静态方法实现了:把串 s 中第一个出现的数字的值返回。 如果找不到数字,返回-1 例如: s = "abc24us43" 则返回 2 s = "82445adb5" 则返回 8 s = "ab" 则返回-1 请分析代码逻辑,并推测划线处的代码。 答案写...
  • Java实现数字消消乐游戏项目

    千次阅读 2020-08-13 11:02:59
    // 左边距 private static final int sy = 50;// 上边距 private static final int w = 40; // 小方格宽高 private static final int rw = 400; // 网格总宽高 private int pj = 0, pi = 0; // 记录两个点击选中的...
  • java连续输入字符串遇到回车停止

    千次阅读 多人点赞 2019-06-19 23:07:10
    连续输入字符串用空格隔开,遇到回车停止 用split()方法,将字符串用分隔符进行分离 split 分离;使分离 public String[] split(String regex) ...将第一个分隔符左边的字符存入下标为0的字符串,第一个分隔符...
  • java 数字转英文

    千次阅读 2018-01-17 17:40:46
    if (z > -1) { // 看是否有小数,如果有,则分别取左边和右边 lstr = x.substring(0, z); rstr = x.substring(z + 1); } else // 否则就是全部 lstr = x; String lstrrev = reverse(lstr); // 对左边的字串...
  • 文章目录1. 题目2. 相关知识3. 解题思路4. 代码5....1. 题目 罗马数字包含以下七种字符: I, V, X, L,C,D,M。...通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 III...
  • JAVA数字金字塔

    万次阅读 多人点赞 2018-07-11 10:04:20
    今年的蓝桥杯中我遇到了一道题是关于数字金字塔的,那时候在比赛时可能是各方面的因素有思路但是没有实现,直到今天回过头来看,其实只要思路正确了题目就会迎刃而解了,其实数字金字塔的的解题思路就是把金字塔分成...
  • Java之——数字金额转化为英文金额

    千次阅读 2016-09-20 19:25:36
    今天,给大家带来一篇基于Java数字金额转化为英文金额的示例代码,网上有很多类似的代码,但是,它们不是转化错误就是不支持小数,那现在我们就一起实现一个完美的数字金额转化为英文金额的示例代码吧,不多说了,...
  • java快速排序

    千次阅读 2019-09-20 18:38:04
    java快速排序 快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。一般选择序列的第一个元素。 一次循环:从后往前比较,用基准值和最后...
  • 简单的Java小游戏 -- 数字连连消

    万次阅读 多人点赞 2020-05-17 20:48:22
    数字连连消效果图下面开始代码首先是```MapTool.java```,用于产生数字和判断选中的两个数字是否相同然后是```GamePanel.java```,游戏布局,游戏核心逻辑代码下面是```GameFrame.java```,定义游戏窗体最后是```...
  • java数字字符串压缩

    千次阅读 2015-09-29 09:27:26
    java数字字符串压缩
  • Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子。下面是常用的例子: import java.text.DecimalFormat; public class Test{ public static void main(String[] args){ double ...
  • java数字左补0的方法,

    千次阅读 2020-07-04 19:50:00
    String right = String.format("%06d", Integer.valueOf(next)); 6:代表全部位数
  • java运算符

    千次阅读 2019-04-18 11:54:48
    java运算符运算符分类**运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。**1.单目2.双目3.三目1.算数运算符1.算数运算符 运算符分类 运算符指明对操作数的运算方式。组成表达式的Java操作符有很多...
  • 首先我觉得计算机求数字位数与人的求法不同 人求出的有数值意义比如可以念出个十百千位的 但是我的方法里 计算机求出的是一串数字 而不是几千几百这样 人读一串数字会习惯读数值就是几百几十这样 就是从右边开始 ...
  • java数字区间重叠校验

    2012-12-16 02:14:07
    在具体的软件开发过程中可能会涉及到用两个数字表示一定的数字区间范围,或者是一个数字,另一个数字是无穷大或者是无穷小的数字区间范围。其实,总结起来共有8种类型的数字区间,它们是:1、左闭,右边为无穷大的...
  • java实习生面试题

    万次阅读 多人点赞 2019-03-17 22:04:43
    1.Java容器框架有哪些? Java容器框架中有两个名称分别为Collection和Set的接口 2.list,map,set,array,它们有什么区别 List接口主要有三个实现类:LinkedList,ArrayList,Vector. LinkedList:底层基于链表实现,...
  •  123321是一个非常特殊的数,它从左边读和从右边读是一样的。    输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。   输入格式    输入一行,包含一个正整数n。   输出格式 ...
  • java实现数字螺旋矩阵

    千次阅读 2016-07-09 14:07:12
    题目描述:  输入一个100以内的数子num,让这num的平方个数字以螺旋矩阵的方式显示在屏幕上。  例如:输入5,则这25个数恰好可以组成一个正方体,将它以如下方式输出到屏幕上。
  • Java中怎么去掉数字字符串开头的0

    万次阅读 2016-08-23 14:43:08
    方式一:例如:”0000123” (字符串必须全为数字) 处理过程:String tempStr = "0000123"; int result = Integer.parseInt(tempStr); result 结果:123方式二:例如:”0000123” 处理过程:String str = ...
  • java如何给数字每三位加一个逗号?

    万次阅读 2016-10-12 13:11:08
    转自:http://zhidao.baidu.com/link?url=xFViwmHKVzRjW7BN8MJurg1sMxzOEWUSdI5rgxNug3gXy3QLosA7QSMImdxlhSzfKbSkDl8wBn8f0R_WiNIKYa 例子如下: ...import java.text.DecimalFormat; /** *  *
  • Java 中给数字左边补0 (1)方法一 import java.text.NumberFormat; public class NumberFormatTest {  public static void main(String[] args) {  //待测试数据  int i = 1;  //得到一个Number...
  • Java中利用NumberFormat 给数字左边补0

    千次阅读 2016-02-23 14:59:13
    java中的DecimalFormat()方法   private static final String STR_FORMAT = "0000"; public static String test(String liuShuiHao){ Integer intHao = Integer.parseInt(liuShuiHao); intHao++; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,923
精华内容 32,369
关键字:

java数字左边

java 订阅