java - 打印带星号的金字塔图案
问题描述
我需要为带有星号的金字塔模式编写代码。是的,这听起来像是无处不在的代码。但是,我需要制作一个带有多个星号的金字塔,而不是多行。
例如,如果用户给了 9,那么需要打印一个金字塔,直到星号用完。它应该是中心金字塔。
我试过行数。但我不知道如何用星号的数量打印。while 循环可能是我的答案,但我不确定..
public static void main(String args[]) {
int n = 5; // number of rows
for (int i = 0; i < n; i++)
{
for (int j = n - i; j > 1; j--)
{
System.out.print(" ");
}
for (int j = 0; j <= i; j++)
{
System.out.print("* ");
}
System.out.println();
}
}
结果应该是这样的,但星号之间没有空格..
*
* *
* * *
* * * *
* * * * *
我的输出显示完全相同的内容,但我使用的是行数,而不是星号数。
解决方案
不是最佳解决方案,但您设置了最大行数n=100
。
然后你定义你的asterix
号码来打破嵌套循环。ctr
是星号的总数。
直到asterix
达到所需的数量,检查ctr
值。
int n = 100;
int ctr = 0;
int asterix = 5;
for (int i = 0; i < n; i++)
{
for (int j = n - i; j > 1; j--)
{
System.out.print(" ");
}
for (int j = 0; j <= i; j++)
{
ctr++;
System.out.print("* ");
if(ctr == asterix ){
i=j=n;
}
}
System.out.println();
}
}
基于@Hans Kesting 的想法。
推荐阅读
- avr - 在 atmel studio7 中更改起始地址 .hex
- javascript - 无限动漫js动画
- html - p 元素向上扩展其容器
- javascript - 使用 Express 路由错误请求呼叫时出现意外错误
- python - 在Python中将一长串位作为半字节转换为十进制
- python-3.x - 名称“模型”未定义 Keras
- google-apps-script - 发送带有附加电子表格的电子邮件
- python - Python 2.7 (urllib2)。如何使用 SSL HTTPS 代理?
- reactjs - React-如何防止登录后返回登录页面?
- java - 如何在JAVA中解决SQL“'字段列表'中的未知列'c'”,而实际上没有语法问题