A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

比如说12我让它输出占用4个格子,不足四个的前面补0,输出0012

4 个回复

倒序浏览
调用C语言中的函数
System.out.printf("%4d", 1);
回复 使用道具 举报
你可以将数字转换成字符串进行判断字符串的长度,不够的前边加0,我随便做了一下如果你要是保证4位为一个整体 中间带括号的话  可以自己在将字符串S遍历一次 每4个字符空一格
  1. public class Test1 {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 int i = 11232132;
  7.                 StringBuilder s = new StringBuilder(Integer.toString(i)); // 将int类型转换成字符串缓冲类型的
  8.                 int len = s.length(); // 获取这个字符串的长度
  9.                 if (len > 4 && len / 4 == 0) { // 进行判断长度是否大于4并且直接是4的倍数的话直接可以输出不用在前边加0
  10.                         int d = len % 4; // 因为4个一组 长度处于4获得 最后一组的个数
  11.                         for (int i1 = d; i1 < 4; i1++) {// 小于4为的时候在前边加0
  12.                                 s.insert(0, "0");
  13.                         }
  14.                         System.out.println(s);

  15.                 } else {
  16.                         for (int i1 = len; i1 < 4; i1++) {// 小于4为的时候在前边加0
  17.                                 s.insert(0, "0");
  18.                         }
  19.                         System.out.println(s);
  20.                 }

  21.         }

  22. }
复制代码
回复 使用道具 举报
不错的问题。
回复 使用道具 举报
牛奋 来自手机 中级黑马 2015-5-15 16:14:03
报纸
还可以用一个容器装你所需数据,然后你需要多长就打印几个,用for循环。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马