Java 图案设计
Java Pattern Design
我正在尝试在 java 上制作此图案:
*******
******
*****
****
***
**
*
然而,到目前为止我只能生成这个代码:
public class Pattern
{
public static void main(String [] args) {
int height = 7;
for (int i = 0; i <= height; i++ ) {
for (int j = 0; j <= i ; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
此代码只能生成此图像:
*
**
***
****
*****
******
*******
********
我应该更改代码的哪一部分才能生成第一张图片?
感谢您的帮助,
如果这是一个错误的问题,我深表歉意
但非常感谢您的帮助。
你必须改变内循环。目前您正在循环到当前行号(= 高度),并且在每次迭代中,您向当前行添加一颗星。所以它将从一颗星开始,直到八颗星,因为你的身高总计设置为 7。
要让它反转,你必须反转内部循环,所以它从 8 颗星(高度 - i)开始,然后回到一颗:
for (int j = height - i; j >= 0; j--) {
System.out.print("*");
}
将外循环改为for (int i = height -1; i >= 0; i--)
int height = 7;
for (int i = height; i>=1; i-- ) { //reverse,and change '0' to '1'
int space_cnt = height - i; //number of space we need
for (int j = 1; j <= height ; j++) {
if(space_cnt-->0){
System.out.print(" ");
}else{
System.out.print("*");
}
}
System.out.println();
}
public class MyPattern {
public static void main(String[] args) {
int height = 7;
for (int i = 0; i < height; i++) {
for (int j = 0; j < height; j++) {
if (j >= i) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
输出:
*******
******
*****
****
***
**
*
我正在尝试在 java 上制作此图案:
*******
******
*****
****
***
**
*
然而,到目前为止我只能生成这个代码:
public class Pattern
{
public static void main(String [] args) {
int height = 7;
for (int i = 0; i <= height; i++ ) {
for (int j = 0; j <= i ; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
此代码只能生成此图像:
*
**
***
****
*****
******
*******
********
我应该更改代码的哪一部分才能生成第一张图片?
感谢您的帮助, 如果这是一个错误的问题,我深表歉意 但非常感谢您的帮助。
你必须改变内循环。目前您正在循环到当前行号(= 高度),并且在每次迭代中,您向当前行添加一颗星。所以它将从一颗星开始,直到八颗星,因为你的身高总计设置为 7。 要让它反转,你必须反转内部循环,所以它从 8 颗星(高度 - i)开始,然后回到一颗:
for (int j = height - i; j >= 0; j--) {
System.out.print("*");
}
将外循环改为for (int i = height -1; i >= 0; i--)
int height = 7;
for (int i = height; i>=1; i-- ) { //reverse,and change '0' to '1'
int space_cnt = height - i; //number of space we need
for (int j = 1; j <= height ; j++) {
if(space_cnt-->0){
System.out.print(" ");
}else{
System.out.print("*");
}
}
System.out.println();
}
public class MyPattern {
public static void main(String[] args) {
int height = 7;
for (int i = 0; i < height; i++) {
for (int j = 0; j < height; j++) {
if (j >= i) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
输出:
*******
******
*****
****
***
**
*