我只想在简单的java程序中使用循环打印它。
----*----
---*-*---
--*-*-*--
-*-*-*-*-
*-*-*-*-*
答案 0 :(得分:4)
用于打印没有图案的正确矩形的循环
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 9; j++) {
System.out.print("-");
}
System.out.println();
}
这将提供以下输出。
---------
---------
---------
---------
---------
使用if条件创建模式。
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 9; j++) {
if ((j - i) % 2 == 0) { // Condition for alternate stars
System.out.print("*");
} else {
System.out.print("-");
}
}
System.out.println();
}
这将提供以下输出。
*-*-*-*-*
-*-*-*-*-
*-*-*-*-*
-*-*-*-*-
*-*-*-*-*
限制三角形内部的图案。
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 9; j++) {
if (i + j > 3 && j - i < 5) { // Equations of straight lines in triangle
if ((j - i) % 2 == 0) { // Condition for alternate stars
System.out.print("*");
} else {
System.out.print("-");
}
} else {
System.out.print("-");
}
}
System.out.println();
}
这将提供以下输出。
----*----
---*-*---
--*-*-*--
-*-*-*-*-
*-*-*-*-*
缩减条件的重构
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 9; j++) {
if (i + j > 3 && j - i < 5 && (j - i) % 2 == 0) {
System.out.print("*");
} else {
System.out.print("-");
}
}
System.out.println();
}
这将提供以下输出。
----*----
---*-*---
--*-*-*--
-*-*-*-*-
*-*-*-*-*
希望这有帮助。
祝你好运。
答案 1 :(得分:1)
试试这个:D
public static void main(String[] argu) {
int index=8;
for(int i=0;i<5;i++) {
for(int j=index;j>0;j--) {
System.out.print("-");
}
index--;
if(i==4) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
}
答案 2 :(得分:-1)
public static void main(String[] args){
for(int i=5;i>=1;i--){
int otherSide = 10-i;
int printStar = -1;
for(int j=1;j<=9;j++){
if(j>=i && j<=otherSide){
printStar*=-1;
if(printStar==1) System.out.print("*");
else System.out.print("-");
}
else
System.out.print("-");
}
System.out.println("");
}
}
找到*的起始索引和上次打印的部分。在范围内交替打印星星。