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();
}
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.println();
return ;
}
for(int i=0;i<(line-n)/2.0;i++){
System.out.print(" ");
}
for(int i=0;i
}
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.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个等腰三角形
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个等腰三角形
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯