Java 如何让控制台将字符串放在右边空白处?
我一直想让控制台打印这个Java 如何让控制台将字符串放在右边空白处?,java,Java,我一直想让控制台打印这个 1 22 333 4444 55555 666666 作为 我尝试过使用\t,但不起作用。在写数字之前先写下所需的空格字符数。没有好的方法,因此需要使用空格。但请记住,控制台窗口的宽度并非每次都相同 String number = /* Your number as string is needed here*/ String outcome = ""; int width = 15; for(int i = 0; i < width - number.leng
1
22
333
4444
55555
666666
作为
我尝试过使用
\t
,但不起作用。在写数字之前先写下所需的空格字符数。没有好的方法,因此需要使用空格。但请记住,控制台窗口的宽度并非每次都相同
String number = /* Your number as string is needed here*/
String outcome = "";
int width = 15;
for(int i = 0; i < width - number.length; i++) {
outcome += " ";
}
outcome += number;
String number=/*此处需要您的数字作为字符串*/
字符串结果=”;
整数宽度=15;
对于(int i=0;i
这是个糟糕的方法,但它应该有效。对您拥有的每个号码重复此操作。要在控制台上使用正确的对正方式,您必须知道您想要的对正距离。大多数终端都有80个字符宽,因此您可以执行以下操作:
String.format("%80d", i);
如果您想要小于此值,请使用小于80的数字
使用String.format
可以让java为您完成所有的计数工作。使用
String formattedString = String.format("%" + spaceCount + "s", " ");
//prints spaceCount spaces
System.out.println(formattedString);
根据需要增加行与行之间的空间计数,您将获得如此多的空间。
(int i=1;i您需要插入空格。您需要处理逻辑中/t的数量。您必须计算每行的确切空格数量并在数字前面加上前缀。制表符不起作用。@Draconian:这种循环方法比我的一行好吗?
for ( int i = 1 ; i <=6 ; i++ ){
for( int j = 0 ; j <= 20 - i ; j++ ){
System.out.print(" ");
}
int k = i ;
while (k > 0){
System.out.print(i);
k--;
}
System.out.println("");
}
for ( int i = 1 ; i <=6 ; i++ ){
for( int j = 0 ; j <= 20 - i ; j++ ){
System.out.print(" ");
}
int k = i ;
while (k > 0){
System.out.print(i);
k--;
}
System.out.println("");
}