尝试打印此图案
*
***
*****
*******
for和while循环无法正常工作。 逻辑有问题吗?
public class Test {
public static void main(String args[]) {
for (int i = 1; i >= 4; i++) {
for (int j = 1; j <= 7; j++) {
while (i + j >= 5 && (Math.abs(j - i)) <= 3) {
System.out.print("*");
}
System.out.print(" ");
}
System.out.println();
}
}
答案 0 :(得分:5)
第一个for循环不正确:
for(int i=1;i>=4;i++)
此代码说,将i
设置为1,而i
大于或等于4时,递增i
。由于i
为1,因此条件永远不会过去。
使用IDE的顺便说一句将帮助您发现这样的错误,例如,这是intellij对这段代码的评价:
答案 1 :(得分:0)
我认为您正在尝试打印问题中提到的中心三角形图案。
这里是打印相同示例程序。
api/MyController/Get/...
这是输出
public class TestCenterTriangle {
public static void main(String args[]) {
printCenterTriangle(4);
}
private static void printCenterTriangle(int row) {
for (int i = 1; i <= row; i++) {
for (int space = 1; space <= (row - i); space++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int k = (i - 1); k >= 1; k--) {
System.out.print("*");
}
System.out.println();
}
}
}
答案 2 :(得分:-1)
public class Test{
public static void main(String args[]){
int n =15;
for(int i=0;i<=n;i+=2){
for(int k=n-i;k>=0;k--)
System.out.print(" ");
for( int j=1;j<=i+1;j++){
System.out.print("* ");
}
System.out.println();
}
}
}
遵循此方法。您可以得到输出:-
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * * *