如何用JAVA编菱形图案 谢谢

打出图案如下:*************************我做了几个for的loop套在一起很乱很纠结...谢谢!!... 打出图案如下:
*
**
***
****
*****
****
***
**
*

我做了几个for的loop 套在一起 很乱很纠结...谢谢!!
展开
 我来答
xydjay
2010-01-31
知道答主
回答量:32
采纳率:0%
帮助的人:18.3万
展开全部
这些回答实在看不下去了
代码如下:

public class Demo {
public static void main(String[] args) {
//定义菱形最宽部位的型号数(默认为5)
int count = 5;

//如果命令行给出型号数量的参数,则改为参数给定的
count = args.length == 1 ? Integer.parseInt(args[0]) : count;

//开始打印
for(int i = -(count - 1); i < count; i++) {
for(int j = 0; j < count; j++) {
int abs = i < 0 ? -i : i;
System.out.print(abs - j > 0 ? ' ' : "* ");
}
System.out.println();
}
}
}

运行时:
java Demo 或者 java Demo 10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zeus3288
2010-01-31 · TA获得超过1312个赞
知道小有建树答主
回答量:525
采纳率:0%
帮助的人:799万
展开全部
public class MyPrint {

/**
* 打印一行
* @param star 打印的字符
* @param num 重复打印字符的数目
* @param width 总的宽度
* @return
*/
private boolean printMidLine(String star,int num,int width){
if(num>width)
return false;
int prefix=(width-num)/2+(width-num)%2;//前面需要打印的空格
int sufix=width-num-prefix;//后面需要打印的空格
for(int i=0;i<prefix;i++)
System.out.print(" ");
for(int i=0;i<num;i++)
System.out.print(star);
for(int i=0;i<sufix;i++)
System.out.print(" ");
System.out.println();
return true;
}
/**
* 打印菱形
* @param star 打印的字符
* @param width 菱形宽度
*/
public void printDiamond(String star,int width){
for(int i=1;i<width;i++)
printMidLine(star, i,width);
printMidLine(star, width, width);
for(int i=width-1;i>0;i--)
printMidLine(star, i,width);
}

public static void main(String[] args){
MyPrint mp=new MyPrint();
mp.printDiamond("*", 5);//可以通过调整参数打印不同的形状
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
StringToken
推荐于2018-05-06 · TA获得超过875个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:0
展开全部
public class Draw {
public static void main(String[] args){
//前四行
for(int i = 1; i < 5; i++){
for(int j = 0; j < i; j++){
System.out.print("*");
}
System.out.println();
}
//后五行
for(int i = 5; i > 0; i--){
for(int j = 0; j < i; j++){
System.out.print("*");
}
System.out.println();
}
}

}

还有疑问请百度hi我,满意请采纳。谢谢!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友27609ef1b6
2010-01-31 · TA获得超过155个赞
知道答主
回答量:239
采纳率:0%
帮助的人:192万
展开全部
public class Test5{
public static void main(String[] args){

//从键盘输入所要实现的图形的单行做多*数
int x = Integer.parseInt(args[0]);

//图形的上半部分
for(int i = x;i>0;i--)
{
if(i % 2 != 0)
{
for(int j = 0;j<=i/2;j++)
{
System.out.print(" ");

}
for(int k=x;k>=i;k--)
{
System.out.print("*");
}
}
System.out.println();
}

//图形的下半部分
for(int i = 0;i<=x-2;i++)
{
if(i % 2 != 0)
{
for(int j = 0;j<=(i+1)/2;j++)
{
System.out.print(" ");

}
for(int k=x-2;k>=i;k--)
{
System.out.print("*");
}
}
System.out.println();
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jinjun_ha
2010-01-31 · TA获得超过1295个赞
知道小有建树答主
回答量:1181
采纳率:0%
帮助的人:568万
展开全部
直接printf 最简单 用循环烦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式