我对 java 和 for 循环还很陌生。我希望我的代码打印出这个
Andy **
Kristy **********
Amy ***** `
但是我得到的是这个
Andy **
Kristy **********
Amy *****
如何更改我的 for 循环以停止这样的名称间距?谢谢。
public static void drawChart(String name, int age) {
System.out.print(name);
for(int j = 1; j <= 10; j++) {
System.out.print(" ");
}
for (int i=0; i<age; i++) {
System.out.print("*");
}
System.out.println(" ");
}
最佳答案
您可以使用 String.format()
实用程序以一定的宽度写入名称。如果名称小于该宽度,它将用空格填充其余部分。诸如此类。
public static void drawChart(String name, int age){
String nameWithPadding = String.format("%-20s", name);
System.out.print(nameWithPadding);
for (int i = 0; i < age; i++)
System.out.print('*');
System.out.println();
}
这里,这部分 %-20s
是用 20 个字符写名字。它首先写入名称,然后是空格,直到达到 20 个字符。
关于java - for循环中的字符打印出来的值离值太远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44352984/