Java 使用循环在每个数字之间添加空格?

Java 使用循环在每个数字之间添加空格?,java,for-loop,nested,Java,For Loop,Nested,我试图得到一行输出,看起来有点像这样: 1 2 3 4 5 6 7 8 9 每次数字增加时添加另一个空格。 我需要使用for循环,最好使用嵌套的for循环。 以下是我迄今为止的代码(在运行时,即使使用方法调用也不会打印) publicstaticvoidoutputine() { 对于(int x=1;x您的循环使用的是ASCII值',这不是您想要的值。您只需计算到当前的x。用以下内容替换您的内部循环: System.out.print

我试图得到一行输出,看起来有点像这样:

1 2  3   4    5     6      7       8        9 
每次数字增加时添加另一个空格。 我需要使用for循环,最好使用嵌套的for循环。 以下是我迄今为止的代码(在运行时,即使使用方法调用也不会打印)

publicstaticvoidoutputine()
{

对于(int x=1;x您的循环使用的是ASCII值
'
,这不是您想要的值。您只需计算到当前的
x
。用以下内容替换您的内部循环:

System.out.print(x);
for (int s = 0; s < x; s++) {
    System.out.print(" ");
}
System.out.print(x);
对于(int s=0;s
您的循环使用的是
''
的ASCII值,这不是您想要的值。您只需计算到当前的
x
。用以下内容替换您的内部循环:

System.out.print(x);
for (int s = 0; s < x; s++) {
    System.out.print(" ");
}
System.out.print(x);
对于(int s=0;s
现在你试图增加一个字符,这没有意义。你希望
空格
是一个与你需要的空格数相等的数字。

现在你试图增加一个字符,这没有意义。你希望
空格
是一个与你需要的空格数相等的数字。

你可以吗仅初始化
空格
一次,然后打印数字,对于每个数字,打印空格:

char space = ' ';
for(int x=1; x<=9; x++)
{
    System.out.print(x);
    for(int i = 0 ; i < x ; i++)
    {
        System.out.print(space);
    }
}
char-space='';

对于(int x=1;x您只能初始化
空格一次,然后打印数字,对于每个数字,打印空格:

char space = ' ';
for(int x=1; x<=9; x++)
{
    System.out.print(x);
    for(int i = 0 ; i < x ; i++)
    {
        System.out.print(space);
    }
}
char-space='';

对于(intx=1;x您只需要一个循环

参考:


你只需要一个循环

参考:


假设该行由相同结构的9个部分组成:
x-1
空格后跟
x
,其中
x
从1变为9

/*
0 space + "1"
1 space + "2"
2 spaces + "3"
...
*/

int n = 9;
for (int x = 1; x <= n; x++) {
    // Output x - 1 spaces
    for (int i = 0; i < x - 1; i++) System.out.append(' ');
    // Followed by x
    System.out.print(x);
}
/*
0空格+1
1空格+2
2个空格+3个
...
*/
int n=9;

对于(int x=1;x考虑由相同结构的9个部分组成的行:
x-1
空格后跟
x
,其中
x
从1变为9

/*
0 space + "1"
1 space + "2"
2 spaces + "3"
...
*/

int n = 9;
for (int x = 1; x <= n; x++) {
    // Output x - 1 spaces
    for (int i = 0; i < x - 1; i++) System.out.append(' ');
    // Followed by x
    System.out.print(x);
}
/*
0空格+1
1空格+2
2个空格+3个
...
*/
int n=9;

对于(intx=1;x请找到我的简单解决方案:)

公共类测试{
公共静态void main(字符串参数[]){

对于(inti=1;i请找到我的简单解决方案:)

公共类测试{
公共静态void main(字符串参数[]){

for(int i=1;i
for(char space='';space@shmosel我尝试了你的建议并收到了一个输出,但是得到了这个“333435363738394041”
for(char space='';space@shmosel我尝试了你的建议并收到了输出,但得到了这个“333435363738394041”最好只构建一次字符串,大小随需要而定。然后可以使用
print(string,int,int)
重载来打印字符串的一部分。我是说。总是忘了它在哪里。@AndyTurner正要说,那个方法调用听起来不合适familar@GrzegorzGórkiewicz不仅仅是构造函数调用,
replace(“\0”,”)
将非常慢,因为它使用正则表达式。
replace('\0','')
会更好。@AndyTurner更好?如果只构建一次字符串,它会更好,大小取决于需要。然后可以使用
打印(string,int,int)
重载以打印字符串的一部分。我的意思是。总是忘记它在哪里。@AndyTurner正要说,那个方法调用听起来不正确familar@GrzegorzGórkiewicz不仅仅是构造函数调用,
replace(“\0”,”)
将非常慢,因为它使用正则表达式。
replace(“\0”,”)
会更好。@AndyTurner更好吗?
public class Test {

    public static void main(String args[]) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 2; j <= i; j++) {
                System.out.print(" ");
            }
            System.out.print(i);
        }

    }

}