当前位置:编程学习 > JAVA >>

java中关于水平制表的问题

比如说我用制表/t后得出的表格是向左对齐的:
1
21  
后怎么变成下面那样向右呢:
 1    
21     --------------------编程问答-------------------- 制表符解决不了这个问题。

你的问题要用 printf 来解决。 --------------------编程问答-------------------- 怎么用
--------------------编程问答--------------------
引用 1 楼  的回复:
制表符解决不了这个问题。

你的问题要用 printf 来解决。

这是我的代码:int j ,k;               //part2
   for(j=1;j<=9;j++){
    System.out.print(" "+j);
    System.out.print("|");
    for(k=1;k<=9;k++){
     System.out.print("\t"+k * +j);
     
    }
    System.out.println("");
    
   };
怎么改呢 --------------------编程问答-------------------- 你试试看:
  System.out.printf("%9d", j);

应该就知道我的意思了。 --------------------编程问答-------------------- 4楼好强大 --------------------编程问答-------------------- System.out.printf函数其实是C标准里printf函数的Java实现,
想详细了解的话在下这里有个详细说明的链接。

printf函数详解 --------------------编程问答-------------------- 如果想取到格式化后的字符串,可以用类函数String.format,给个例子:

public static void main(String[] args) {
int n = 1;
String strs[] = new String[5];

for (int i = 0; i < 5; i++) {
strs[i] = String.format("%6d", n *= 10);
System.out.format("%6d\n", n);
}

for (int i = 0; i < 5; i++)
System.out.println(strs[i]);
}

PS:其实PrintStream.printf是PrintStream.format的别名,在JDK中printf的定义是:

    public PrintStream printf(String format, Object ... args) {
        return format(format, args);
    }

而且String.format与System.out.format其实是调用同一个函数Formatter.format实现的:

    public static String format(String format, Object ... args) {
        return new Formatter().format(format, args).toString();
    }

想了解具体实现的请自己查看JDK。
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,