看看java.text.DateFormat类吧,里面有你想要的东西。

解决方案 »

  1.   

    看了,像是也不好用。不如C里面sprintf来的方便。
      

  2.   

    DateFormat 不好用???
    是你不会用吧???!!!
      

  3.   

    楼上的有道理,但最好还是使用 java.text.SimpleDateFormat  它继承自 java.text.DateFormat .
      

  4.   

    当然了,DateFormat仅仅是个接口,
      

  5.   

    在JAVA中什么函数类似于VC中CString类的Format函数。如
    str.Format("货车=%d,客车=%d 来自%s车站",x,y,str2);
    这样的写法可以说是相当方便了,在JAVA中也有相应的替代品吧。
      

  6.   

    自己写一下,用java.text.DateFormat类
    DateFormat date=new SimpleDateFormat("yyyy-MM-dd");
      

  7.   

    我说的是这个,与时间格式化没关系。是字符串格式化。在JAVA中什么函数类似于VC中CString类的Format函数。如
    str.Format("货车=%d,客车=%d 来自%s车站",x,y,str2);
    这样的写法可以说是相当方便了,在JAVA中也有相应的替代品吧。
      

  8.   

    DateFormat是接口?
    汗 -_-b
      

  9.   

    http://www.horstmann.com/corejava.html 中的Sample Code中有具体是printf实现。可以去看看
      

  10.   

    java.text.SimpleDateFormat就可以了,怎么不能用那!:Calendar calender =Calendar.getInstance();
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
    format.setLenient(false);
    String strResponseDate = format.format(calender.getTime());
      

  11.   

    /**
     * @author jceater
     *
     * 更改所生成类型注释的模板为
     * 窗口 > 首选项 > Java > 代码生成 > 代码和注释
     */import java.text.*;public class StringAlign extends Format { /**用于左对齐*/
    public static final int JUST_LEFT = 'l';
    /**用于居中对齐*/
    public static final int JUST_CENTRE = 'c';
    /**用于右对齐*/
    public static final int JUST_RIGHT = 'r'; /**当前对齐位置*/
    private int just;
    /**当前最大行宽*/
    private int maxChars; public StringAlign(int maxChars, int just) {
    switch (just) {
    case JUST_LEFT :
    case JUST_CENTRE :
    case JUST_RIGHT :
    this.just = just;
    break;
    default :
    throw new IllegalArgumentException("非法的位置参数");
    }
    if (maxChars < 0) {
    throw new IllegalArgumentException("非法的行宽参数");
    }
    this.maxChars = maxChars;
    } public StringBuffer format(
    Object obj,
    StringBuffer where,
    FieldPosition ignore) {
    String s = (String) obj;
    String wanted = s.substring(0, Math.min(s.length(), maxChars)); /**如果没有空间用于对齐返回最大行宽的内容*/
    if (wanted.length() > maxChars) {
    where.append(wanted);
    } else
    switch (just) {
    case JUST_LEFT :
    where.append(wanted);
    pad(where, maxChars - wanted.length());
    break;
    case JUST_CENTRE :
    int startPos = where.length();
    pad(where, (maxChars - wanted.length()) / 2);
    where.append(wanted);
    pad(where, (maxChars - wanted.length()) / 2);
    /**调整取整误差*/
    pad(where, maxChars - (where.length() - startPos));
    break;
    case JUST_RIGHT :
    pad(where, maxChars - wanted.length());
    where.append(wanted);
    break;
    }
    return where;
    } /**添加空格*/
    public final void pad(StringBuffer to, int howMany) {
    for (int i = 0; i < howMany; i++)
    to.append(" ");
    }

    public String format(String s){
    return format(s,new StringBuffer(),null).toString();
    }

    public Object parseObject(String source,ParsePosition pos){
    return source;
    }


    public static void main(String[] args){
    StringAlign formatter1=new StringAlign(100,StringAlign.JUST_LEFT);
    System.out.println(formatter1.format("- i -"));

    StringAlign formatter2=new StringAlign(100,StringAlign.JUST_CENTRE);
    System.out.println(formatter2.format("- i -"));

    StringAlign formatter3=new StringAlign(100,StringAlign.JUST_RIGHT);
    System.out.println(formatter3.format("- i -"));
    }}
      

  12.   

    一个字符串格式化用的了这么长吗?????
    有没有类似sprintf这像简洁的操作。
      

  13.   

    没有类似sprintf这样的函数在java中
    至少我没看到过,呵呵!!!
    你可以把它当做公用函数来使用
      

  14.   

    SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
      

  15.   

    好像Java对字符串的操作比较麻烦
    printf的格式符%d %s %f等等都没有吧?
      

  16.   

    printf函数
    可以自己模拟!!!