Java输出由小写字母v组成的大V
样例:
v v
v v
v v
v
分析:
1.总行数4,每行由不同个数的空格和v组成。
伪代码
第1行 (0)空格v (2*(4-1) -1)空格v
第2行 (2-1)空格v (2*(4-2) -1)空格v
第3行 (3-1)空格v (2*(4-3) -1)空格v
第4行 (4-1)空格v
2.使用格式化输出进行处理
public PrintStream printf(String format, Object ... args) {
return format(format, args);
}
格式化字符串format是%s,左补1空格是format("%2s", "v"),第一个参数补1个空格第二个参数补2个空格是format("%1$2s%2$3s","v","v"),在"%2s"中间加上"1$",表示第一个参数。
结果:
public class PrintTest {
public static void main(String [] args){//4
printV(10);
}
public static void printV(int n){
for (int i = 1; i <= n; i++) {
if(i != n){
System.out.printf("%1$"+i+"s"+"%2$"+(2*(n-i))+"s%n","v","v");
}else{
System.out.printf("%"+n+"s","v");
}
}
}
}