首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java用于循环间隔结果

Java用于循环间隔结果
EN

Stack Overflow用户
提问于 2013-10-31 18:01:51
回答 3查看 6.9K关注 0票数 0

我正在我的Java类中编写一个程序,我需要打印一个恒星金字塔。我的代码是:

代码语言:javascript
复制
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter a number between 1 and 20: ");
    int value = sc.nextInt();
    System.out.println("Pattern B: ");
    for(int x = 1; x <= value; x++){
      for(int y = value; y>=x; y-- ){
           System.out.print("*");
     }
       System.out.print("\n");

      }

我的结果是打印一条由5颗星组成的线,然后是4,3,2,1(如果用户输入数字5)。我想要的是把星星都推到右边。例如:

5星线,(空间)4星线,(2空间)3星线,(3空间)2星线,(4空间)1星线

我说得通吗?

我应该引入一个if然后语句,相应地检查变量y和增量空格吗?如果我把你搞糊涂了,我很抱歉。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-31 18:08:43

您可以引入一个新的for循环,在打印星号之前打印所需的空格数:

代码语言:javascript
复制
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number between 1 and 20: ");
int value = sc.nextInt();
System.out.println("Pattern B: ");
for(int x = 1; x <= value; x++){
    for(int c = value-x; c<value; c++){
        System.out.print(" ");
    }
    for(int y = value; y>=x; y-- ){
        System.out.print("*");
    }
    System.out.print("\n");
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-31 18:04:47

你可以做两件事之一:

  • x for循环中引入另一个for循环,它将循环x时间,以print x空间字符或
  • 修改y for循环以从1value运行,然后在其中添加if语句以决定是打印空格还是打印*
票数 5
EN

Stack Overflow用户

发布于 2013-10-31 18:11:53

记住,如果你想要一个真正的金字塔,你必须跳过每两个数字。例如,如果选择5,并决定为每个数字打印一行,直到0,这是最好的方法:

代码语言:javascript
复制
*****
 ****
 ***
 **
 *

如果你跳过,你可以得到这样的东西:

代码语言:javascript
复制
*****
 ***
  *

现在你所需要的就是看看你离你的基地有多远,得到空格的数量,除以2,你就有了之前的空格和后面的空格。

你可以试试这样的东西:

代码语言:javascript
复制
    int spacing;

    for(int x = 0; x < value; x=x+2){
          for(int y = value; y>x; y-- ){
               spacing = x/2;

               for(int i = 0; i < spacing; ++i)
                  System.out.print(" ");

               System.out.print("*");

               for(int i = 0; i < spacing; ++i)
                  System.out.print(" ");
           }
           System.out.print("\n");

     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19713602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档