**
Java之金字塔大全
**
请编写一个程序,可以接收一个整数,表示层数,打印出金字塔一半。
***把一个复杂的问是先拆解成简单问题
在这里插入代码片请编写一个程序,可以接收一个整数,表示层数,打印出金字塔一半。[demo100.java]
***把一个复杂的问是先拆解成简单问题
//三角形[Demo100.java]
public class Demo100{
public static void main(String []args){
//死去活来法-->打四次
int lay=4;
//表示有多少层
for(int i=1;i<=lay;i++){
//打印*
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.println();//换行
}
}
}
-------------------------------------------------------------------------------
//金字塔[Demo101.java]
public class Demo101{
public static void main(String []args){
int lay=10;//表示有多少层
for(int i=1;i<=lay;i++){
//找出规律
//1->3 2->2 3->1 4->0找出空格
for(int k=1;k<=lay-i;k++){
System.out.print(" ");
}
//打印*
//1->1 2->3 3->5 4->7找出星的规律
for(int j=1;j<=(i-1)*2+1;j++){
System.out.print("*");
}
System.out.println();//换行
}
}
}
-------------------------------------------------------------------------------
//镂空金字塔[Demo102.java]
public class Demo102{
public static void main(String []args){
int lay=10;//表示有多少层
for(int i=1;i<=lay;i++){
//找出规律
//1->3 2->2 3->1 4->0找出空格
for(int k=1;k<=lay-i;k++){
System.out.print(" ");
}
//打印*
//1->1 2->3 3->5 4->7找出星的规律
for(int j=1;j<=(i-1)*2+1;j++){
//判断该层是否是顶层或者是底层
if(i==1||i==lay){
System.out.print("*");
}else{
//如果是第一个*
if(j==1||j==(i-1)*2+1){
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
System.out.println();//换行
}
}
}
-------------------------------------------------------------------------------
//空心菱形[Demo103.java]
public class Demo103{
public static void main(String []args){
int lay=4;//菱形上半部行数
for(int i=1;i<=lay-1;i++){ //判断循环上半部分
for(int k=1;k<=lay-i;k++){ //找行内*号前输出空格
System.out.print(" ");
}
for(int j=1;j<=(i-1)*2+1;j++){ //找行内输出星的位置
if(j==1||j==(i-1)*2+1){ //判断行最小长度和最大长度,并在最小长度和最大长度上输出*号,行内输入出空格。
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(); //换行
}
for(int i=1;i<=lay;i++){ //判断循环菱形下半部分
for(int k=1;k<=i-1;k++){ //判断循环找*号前要输出空格处
System.out.print(" ");
}
for(int j=1;j<=(lay-i)*2+1;j++){ //判断循环行长度
if(j==1||j==(lay-i)*2+1){ //判断行最小长度和最大长度,并在最小长度和最大长度上输出*号,行内输入出空格。
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println();//输出换行
}
}
}
-------------------------------------------------------------------------------
//实心菱形[Demo104.java]
public class Demo104{
public static void main(String []args){
int lay=4;//菱形上半部行数
for(int i=1;i<=lay-1;i++){ //判断循环上半部分
for(int k=1;k<=lay-i;k++){ //找行内*号前输出空格
System.out.print(" ");
}
for(int j=1;j<=(i-1)*2+1;j++){ //找行内输出星的位置
System.out.print("*");
}
System.out.println(); //换行
}
for(int i=1;i<=lay;i++){ //判断循环菱形下半部分
for(int k=1;k<=i-1;k++){ //判断循环找*号前要输出空格处
System.out.print(" ");
}
for(int j=1;j<=(lay-i)*2+1;j++){ //判断循环行长度
System.out.print("*");
}
System.out.println();//输出换行
}
}
}