作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
谁能告诉我输出这个模式的更优雅的解决方案是什么?我对 makeTemplate 方法最感兴趣,但任何其他帮助将不胜感激。这是我的代码,我希望它更具可读性:
public class Main {
public static void makeTemplate(char tab[][], int rows, int col) {
boolean increase = true;
int j = 0;
char star = '*';
for (int i = 0; i < rows; i++) {
if (increase) {
tab[i][j] = star;
if (j >= col - 1) {
increase = false;
j--;
continue;
}
j++;
} else {
tab[i][j] = star;
if (j < 0 + 1) {
increase = true;
j++;
continue;
}
j--;
}
}
}
public static void main(String[] args) {
char[][] tab = new char[30][6];
makeTemplate(tab, 30, 6);
for (int i = 0; i < 30; i++) {
for (int j = 0; j < 6; j++) {
System.out.print(tab[i][j]);
}
System.out.println();
}
}
}
最佳答案
仅对 makeTemplate
进行了一些更改
public static void makeTemplate(char tab[][], int rows, int col) {
boolean increase = true;
int j = 0;
char star = '*';
for (int i = 0; i < rows; i++) {
tab[i][j] = star;
if (increase) {
if (j >= col - 1) {
increase = false;
j--;
} else {
j++;
}
} else {
if (j < 1) {
increase = true;
j++;
}else {
j--;
}
}
}
}
替换了continue
带有 else
的语句因为 continue 语句几乎与 else 执行相同的操作。在 if 语句中使用 continue 表示跳过 j++
或j--
以下。所以改为 j++
或j--
仅当 if
时才会执行是真的。
我也改了if(j < 0 + 1)
至if(j < 1)
如0+1
=1
已移动tab[i][j] = star;
在第一个if
之前因为它是 if
中的第一行和else
- 谢谢贝蒂斯塔
关于Java循环星型模式-算法优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34634049/
考虑以下代码: let pair = System.Tuple.Create (10, "foo") // val pair : int * string = (10, "foo") le
让我们考虑以下 MPI 应用程序的简单场景:根进程广播 (MPI_Bcast) 一些参数(几十个字节 - 固定大小),然后所有节点开始执行一些计算,然后root 收集结果(MPI_Gather - 可
我是一名优秀的程序员,十分优秀!