java - 如何使用嵌套循环创建半菱形?
问题描述
目前,我的程序正在输出:
p
r r
o o o
g g g g
r r r r r
a a a a a a
m m m m m m m
我希望它输出这个:
pp
r r
o o
g g
r r
a a
m m
我不确定是否愿意这样做。我已经研究了很长一段时间,似乎不知道如何首先让它在开头有一个双“p”,然后我不确定如何在这些字母之间创建空格,就像真正的输出看起来一样. 请帮忙。
这是我当前的代码:
String output = "";
String str = "program";
int length = str.length();
for (int i=0 ; i<length; i++)
{
for (int k=length-1; k>i; k--)
{
System.out.print(" ");
}
for (int j=0; j<=i; j++)
{
System.out.print(" ");
System.out.print(str.charAt(i));
}
System.out.println();
}
谢谢!
解决方案
您遇到的两个问题是在内部循环中:
for (int j=0; j<=i; j++)
{
System.out.print(" ");
System.out.print(str.charAt(i));
}
您没有打印足够的空格(应该是j < i * 2
),并且您不想str.charAt(i)
在循环的每次迭代中打印。只有之前和之后:
String output = "";
String str = "program";
int length = str.length();
for (int i=0 ; i<length; i++)
{
for (int k=length-1; k>i; k--)
{
System.out.print(" ");
}
System.out.print(str.charAt(i));
for (int j=0; j< i*2; j++)
{
System.out.print(" ");
}
System.out.print(str.charAt(i));
System.out.println();
}
输出:
pp
r r
o o
g g
r r
a a
m m
推荐阅读
- email - 通过 smtp 通过 sendmail 发送电子邮件时面临连接重置和超时错误。如何解决这个问题?
- php - WordPress 自定义帖子类型分页返回 404 页面错误
- mysql - 删除插入前的 MySQL
- javascript - JAWS / IE11 中的 Keydown 事件未正确触发
- flutter - [Flutter]SliverAppBar在NestedScrollView中向下滚动时如何保持flexibleSpace展开?
- android - 他从哪里拿的号码?自定义数字键盘 (Android Kotlin)
- reactjs - TS1128:需要声明或声明(文件结尾)
- javascript - twitter api - nodejs问题
- ios - 作为 UIView 的子视图的程序化 UIButton 没有响应
- json - 无法在 JSON 邮递员中提取出勤数据