java - 我想要特定的模式
问题描述
这是我尝试过的代码。
int rows2 = 5;
for (int i = 1;i<=rows2; i++) {
for (int j = i; j<rows2; j++) {
System.out.print(" ");
}
for (int j = 1;j<=i; j++) {
System.out.print("*");
}
System.out.println();
上述代码的输出
*
**
***
****
*****
我想要如下的特定输出(星号数)
1
12
123
1234
12345
解决方案
试试这个代码:
int numRows = 5;
for (int r=0; r < numRows; ++r) {
for (int i=0; i < numRows-r-1; ++i) System.out.print(" ");
for (int j=0; j < r+1; ++j) System.out.print(j+1);
System.out.println();
}
1
12
123
1234
12345
这里的逻辑是对于每一行,我们打印numRows - r
空格,其中r
是行号,从值 1 开始。然后,我们打印从 1 到行号的数字,依次填充该行的其余部分。
推荐阅读
- laravel - Laravel 项目因 Datatables.net 构建问题而停止构建
- r - ggplot2美学中计算统计和变量的算术
- jmeter - Jmeter从响应中提取值并发送到其他请求
- html - 升级依赖项后,表条带不再工作
- github - 获取 GitHub 存储库的静态分析
- flutter - TextField的后缀不就是把widget放在TextField的右边吗?
- r - 使用 for 循环命名向量
- javascript - 与 Rollup 捆绑时忽略或替换依赖项的导入
- jquery - jquery.min.js 违反了内联样式的 CSP
- java - 如何使用 replaceAll() 在 Java 中删除多个匹配项?