题目如下 填满10位,格式必须为“0000000XXX”例如:使数字1234 变成字符“0000001234”567 变成 “0000000567”并不知道X会有多少位就像 0000000000+ xxx____________ 0000000xxx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String s = new String();int i = 1234; long l = 10000000000l; //11位s = new Long(l+i).toString();s = s.substring(1, s.length()); //去掉第一位 10000000000 l 1和L真是太像了;转成字符数组 char[] chs = s.toCharArray(); int value=1234; String result=value+""; for (int i = 0; i < 10-(value+"").length(); i++) { result="0"+result; } System.out.println(result); int value=1234; String result=value+""; for (int i = 0; i < 10-(value+"").length(); i++) { result="0"+result; } System.out.println(result);正解 public static String leftPad(String str, int size, char padChar) { if(str == null) { return null; } int pads = size - str.length(); if(pads <= 0) { return str; } if(pads > 8192) { return leftPad(str, size, String.valueOf(padChar)); } else { return padding(pads, padChar).concat(str); } } private static String padding(int repeat, char padChar) throws IndexOutOfBoundsException { if(repeat < 0) { throw new IndexOutOfBoundsException("Cannot pad a negative amount: " + repeat); } char buf[] = new char[repeat]; for(int i = 0; i < buf.length; i++) { buf[i] = padChar; } return new String(buf); }org.apache.commons.lang.StringUtils;有左连接和右连接地方法,你可以直接试一试 楼上的那个让Java关键字显示特殊颜色是怎么使的? Java codepublic static String leftPad(String str, int size, char padChar) { if(str == null) { return null; } int pads = size - str.length(); if(pads <= 0) { return str; } if(pads > 8192) { return leftPad(str, size, String.valueOf(padChar)); } else { return padding(pads, padChar).concat(str); } } private static String padding(int repeat, char padChar) throws IndexOutOfBoundsException { if(repeat < 0) { throw new IndexOutOfBoundsException("Cannot pad a negative amount: " + repeat); } char buf[] = new char[repeat]; for(int i = 0; i < buf.length; i++) { buf[i] = padChar; } return new String(buf); }org.apache.commons.lang.StringUtils;有左连接和右连接地方法,你可以直接试一试 private static final String[] ARRAY = {"0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000" }; public static void main(String[] args) { String str="1"; System.out.println(ARRAY[ARRAY.length-str.length()-1]+str); }- -! DecimalFormat类可以解决楼主查api看看 【JAVA】求教!Arrays.asList()方法在这个程序中是怎么运行的? swing 界面中文显示乱码 新手在吐血-第二个问题 请问大家觉得 java方向好找工作还是 .net方向好找工作? StringBuffer的方法为什么显示不出来呢?用的环境是Eclipse. 初学者!请大家帮忙看看这几个程序! 学习反射时候写的一些代码,大家看看有没有价值?? 有谁能帮我 不知道何处有 JBuilder6下载????? SOS!!!!-------在什么地方下载到Jbuilder5啊?? 数组分割问题。。。 如何防止A、B同时提交时,出现的数据覆盖问题?
int i = 1234;
long l = 10000000000l; //11位
s = new Long(l+i).toString();
s = s.substring(1, s.length()); //去掉第一位
转成字符数组 char[] chs = s.toCharArray();
String result=value+"";
for (int i = 0; i < 10-(value+"").length(); i++) {
result="0"+result;
}
System.out.println(result);
String result=value+"";
for (int i = 0; i < 10-(value+"").length(); i++) {
result="0"+result;
}
System.out.println(result);
正解
{
if(str == null)
{
return null;
}
int pads = size - str.length();
if(pads <= 0)
{
return str;
}
if(pads > 8192)
{
return leftPad(str, size, String.valueOf(padChar));
} else
{
return padding(pads, padChar).concat(str);
}
}
private static String padding(int repeat, char padChar)
throws IndexOutOfBoundsException
{
if(repeat < 0)
{
throw new IndexOutOfBoundsException("Cannot pad a negative amount: " + repeat);
}
char buf[] = new char[repeat];
for(int i = 0; i < buf.length; i++)
{
buf[i] = padChar;
} return new String(buf);
}
org.apache.commons.lang.StringUtils;
有左连接和右连接地方法,你可以直接试一试
public static String leftPad(String str, int size, char padChar)
{
if(str == null)
{
return null;
}
int pads = size - str.length();
if(pads <= 0)
{
return str;
}
if(pads > 8192)
{
return leftPad(str, size, String.valueOf(padChar));
} else
{
return padding(pads, padChar).concat(str);
}
}
private static String padding(int repeat, char padChar)
throws IndexOutOfBoundsException
{
if(repeat < 0)
{
throw new IndexOutOfBoundsException("Cannot pad a negative amount: " + repeat);
}
char buf[] = new char[repeat];
for(int i = 0; i < buf.length; i++)
{
buf[i] = padChar;
} return new String(buf);
}
org.apache.commons.lang.StringUtils;
有左连接和右连接地方法,你可以直接试一试
private static final String[] ARRAY =
{"0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000",
"0000000000" };
public static void main(String[] args) {
String str="1";
System.out.println(ARRAY[ARRAY.length-str.length()-1]+str);
}
- -!
楼主查api看看