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;ifor(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);
}
}
}