永发信息网

Java打印菱形高效简洁代码

答案:3  悬赏:50  手机版
解决时间 2021-04-07 01:34
  • 提问者网友:雪舞兮
  • 2021-04-06 09:54
Java打印菱形高效简洁代码
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-04-06 10:43
public static void main(String args[]){
java.util.Scanner sc=new java.util.Scanner(System.in);
System.out.println("请输入一个奇数");
int line=sc.nextInt();
while(line%2==0 || line<0){
System.out.println("请重新输入一个奇数");
line=sc.nextInt();
}
print(1,line);
}

public static void print(int n,int line){
if(line%2==0) return ;
if(n>=line){
for(int i=0;i System.out.print("*");
}
System.out.println();
return ;
}
for(int i=0;i<(line-n)/2.0;i++){
System.out.print(" ");
}
for(int i=0;i System.out.print("*");
}
System.out.println();
print(n+2,line);
for(int i=0;i<(line-n)/2.0;i++){
System.out.print(" ");
}
for(int i=0;i System.out.print("*");
}
System.out.println();
}
全部回答
  • 1楼网友:患得患失的劫
  • 2021-04-06 11:39
最简单的是N个 输出 语句,完成任务不需要多高超的算法,简洁最重要追问那当我要打印1000行的菱形时,不知道是你那种直接输出的写法好还是我的好?追答这种,看情况而定啊
  • 2楼网友:思契十里
  • 2021-04-06 11:23
public class shu{
 public static void main(String[] a){
     for(int i=0;i<6;i++){
      for(int j=6-i;j>0;j--){
       System.out.print(" ");
      }
      for(int k=1;k<=2*i+1;k++){
       System.out.print("*");
      }
      System.out.println();
     } 

     for(int i=6;i>=0;i--){
      for(int j=6-i;j>0;j--){
       System.out.print(" ");
      }
      for(int k=1;k<=2*i+1;k++){
       System.out.print("*");
      }
      System.out.println();
     }
    }
}
只要把for的数据换下  下等腰三角形就出来了,所以原理其实就是打印2个等腰三角形
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯