Java 打印有趣的图案
解决有趣的图案问题可以增加对循环的理解。这对于构建特定编程语言的坚实基础至关重要。有各种各样的图案,包括基于数字、基于星号和基于字母的图案。在本文中,我们将讨论一些用Java编写的打印有趣星型图案的程序。
打印有趣图案的程序
图案1
方法
- 声明并初始化一个整数‘n’,该整数指定行和列的数量。
-
定义一个for循环,循环次数为‘n’。在循环内部定义一个if-else代码块。
-
if代码块将在第一行和最后一行打印星号‘n’次,else代码块将在第二行到第四行打印空格‘n/2’次和星号一次。
示例
public class P1 {
public static void main(String[] args) {
int n = 5;
for(int i = 1; i <= n; i++) {
// till number of rows
if(i == 1 || i == n) {
for(int str = 1; str <= n; str++) {
System.out.print("*\t");
}
} else {
for(int spc = 1; spc <= n/2; spc++) {
System.out.print("\t");
}
for(int str = 1; str <= 1; str++){
System.out.print("*");
}
}
System.out.println();
// to move cursor to next line
}
}
}
输出
* * * * *
*
*
*
* * * * *
图案2
方法
- 声明并初始化一个整数n,它指定行数。
-
创建一个嵌套的for循环,外部循环将运行到’n’为止,内部循环将运行到空格数并打印出空格。打印完之后,我们将减少空格计数器1。
-
再次进行另一个内部循环,它将运行到星星数并打印出星星。打印完之后,我们将增加星星计数器2。
示例
public class P2 {
public static void main(String[] args) {
int n = 5;
int spc = n-1; // initial space count
int str = 1; // initial star count
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= spc; j++) { // spaces
System.out.print("\t");
}
spc--;
for(int k = 1; k <= str; k++) { // stars
System.out.print("*\t");
}
str += 2;
System.out.println();
}
}
}
输出
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
图案3
方法
- 声明和初始化一个整数‘n’来指定行数。
-
定义嵌套的循环,外层循环将从‘n’到1运行,第一个内层循环将打印空格,第二个内层循环将打印星号。
示例
public class P3 {
public static void main(String[] args) {
int n=5;
for(int i = n; i >= 1; i--) {
for(int spc = n-i; spc >= 1; spc--){ // spaces
System.out.print("\t");
}
for(int str = 1; str <= i; str++){ // stars
System.out.print("*\t");
}
System.out.println();
}
}
}
输出
* * * * *
* * * *
* * *
* *
*
图案4
方法
- 声明和初始化一个整数 ‘n’,指定行数。
-
创建一个嵌套循环,外层循环将运行到’n’,第一个内层循环将运行到空格的数量并打印空格。第二个循环将打印星号。
-
现在,使用if-else语句块,if块将检查行号是否小于3。如果小于3,则执行if块以减少空格计数并增加星号计数。
-
如果行号大于2,则执行else块以增加空格计数并减少星号计数。
示例
public class P4 {
public static void main(String[] args) {
int n = 5;
int spc = 2;
// initial space count
int str = 1;
// initial star count
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= spc; j++) {
// spaces
System.out.print("\t");
}
for (int j = 1; j <= str; j++) {
// stars
System.out.print("*\t");
}
if ( i <= 2) {
spc--;
str += 2;
} else {
spc++;
str -= 2;
}
System.out.println();
}
}
}
输出
*
* * *
* * * * *
* * *
*
图案5
方法
- 声明并初始化一个整数‘n’,它指定了行数。
-
定义嵌套的for循环,外部循环将运行到‘n’,第一个内部循环将打印空格,第二个内部循环将打印星号。
示例
public class P5 {
public static void main(String[] args) {
int n = 5;
for(int i = 1; i <= n; i++){
for(int spc = 1; spc <= n-i; spc++) {
System.out.print("\t");
}
for(int str = 1; str <= i; str++) {
System.out.print("*\t");
}
System.out.println();
}
}
}
输出
*
* *
* * *
* * * *
* * * * *
结论
在这篇文章中,我们讨论了有趣的星形图案问题。这些图案解决方案将帮助您解码图案问题的逻辑,并使您能够自己解决其他图案问题。