本文目录一览:
- 1、JAVA按格式输出字符串
- 2、Java:应该如何将字符串格式化成固定长度呢?
- 3、JAVA中有哪几种格式化字符串?
- 4、java中字符串为什么要格式化??格式化是什么意思?
- 5、Java字符串反向格式化如何实现; 我们现在都是通过有占位符的格式化字符串, 填入占位的值, 得到结果?
JAVA按格式输出字符串
在Java编程中格式化字符串,用String类的静态方法String.format():
format(Locale l, String format, Object... args)
//使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
format(String format, Object... args)
//使用指定的格式字符串和参数返回一个格式化字符串。
举几个这个方法实用的例子(注释是输出结果):
//案例1
long now = System.currentTimeMillis();
String s = String.format("%tR",now); //输出当前时间的小时和分钟
// 格式化输出结果"09:22"
//案例2
Date d = new Date(now);
s = String.format("%tD",d); //输出当前时间的month/day/year
// 格式化输出结果"11/05/15"
Java:应该如何将字符串格式化成固定长度呢?
随便自己写个方便啊。
/**
* 获取定长的字符串
* @param str 原始字符串
* @param len 固定长度
* @param c 不够填充的字符
* @return 固定长度的字符串
*/
public static String getFixedLenString(String str, int len, char c) {
if (str == null || str.length() == 0){
str = “”;
}
if (str.length() == len){
return str;
}
if (str.length() len){
return str.substring(0,len);
}
StringBuilder sb = new StringBuilder(str);
while (sb.length() len){
sb.append(c);
}
return sb.toString();
}
JAVA中有哪几种格式化字符串?
public class test1 { //新建类
public static void main(String[] args) { //主方法
String str = String.format("%d",400/2); //将结果以十进制显示
String str2 = String.format("%b",3 5); //将结果以布尔形式显示
String str3 = String.format("%x",200); //将结果以10进制格式显示
System.out.println("400的一半是:"+str); //输出格式化字符串
System.out.println("35正确吗:"+str2);
System.out.println("200的16进制数是:"+str3);
}
}
为什么会报错:
类型 String 中的方法 format(String, Object[])对于参数(String, int)不适用
类型 String 中的方法 format(String, Object[])对于参数(String, boolean)不适用
类型 String 中的方法 format(String, Object[])对于参数(String, int)不适用
java中字符串为什么要格式化??格式化是什么意思?
格式化是根据业务需要进行的。像时间字符串或者特殊意思的ID,对他们进行格式化后能更方便的进行比较、转换或者理解。而格式化就是根据特定的格式进行处理,将原来的字符串转为给定格式的字符串。例子:时间字符串“20120224”转为“2012-02-24”
Java字符串反向格式化如何实现; 我们现在都是通过有占位符的格式化字符串, 填入占位的值, 得到结果?
代码为:
public class Main {
public static void main(String[] args) {
String format = "select %s from %s limit %s";
String param = "select * from user limit 10";
//根据%s分割format字符串
String[] stArr = format.split("%s");
//使用集合存储结果集
ListString result = new ArrayList();
for (int i = 0; i stArr.length; i++) {
//根据分割内容裁剪param字符串
param = param.substring(stArr[i].length());
if (i stArr.length - 1) {
//计算下一条分割内容的位置
int index = param.indexOf(stArr[i + 1]);
//截取出结果放入结果集
result.add(param.substring(0, index));
//截取后的剩余部分重新赋值给param
param = param.substring(index);
} else {
//如果param以%s结尾,则将param剩余部分做为最后一次结果
if (param.length() 0) {
result.add(param);
}
}
}
System.out.println(result);
}
}
运行结果: