用java中的for循环制作图形

用星号摆出等要三角形,等边三角形,梯形和菱形来,如果可以还能做圆和椭圆来急用刚学习java还不是很明白请高手帮帮忙,高深的地方请加个注释.... 用星号摆出 等要三角形,等边三角形,梯形和菱形来,如果可以还能做圆和椭圆来 急用刚学习java 还不是很明白请高手帮帮忙,高深的地方请加个注释. 展开
 我来答
wangxmin
2008-10-11
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
public class LoopEG{
//讲循环时老师给出的题,自己写的代码,可能不够科学,忘高手指正
public void LoopX(int times){
for(i=0;i<num/2-t;i++,times++)
if(times%2==1) System.out.print("# "); else System.out.print(" ");
}
public static void main(String[] args){
int i=0,t=1,s=1,k=1;
int num=Integer.parseInt(args[0]); //取参数,转为整型变量赋给num变量
//输出正三角型
while(t<=num){
System.out.println();
for(i=0;i<=num-t;i++)
System.out.print(" ");
for(i=1;i<=t;i++)
System.out.print("^ ");
t=t+1;
}
if (num%2==1) num+=1;
//输出菱形
for(t=1;t>0&&t<=num/2;t+=s){
System.out.println();
for(i=0;i<num/2-t;i++)
System.out.print(" ");
for(i=0;i<2*t-1;i++)
System.out.print("%");
if(t==num/2) s=-1;
}
//输出回子型
s=-1;
if(num%4==0) k=0;
for(t=num/2;t<=num/2;t+=s){
int times=1;
System.out.println();
LoopX(times);
for(i=0;i<2*t-1;i++,times++)
if(t%2==1) System.out.print("# "); else System.out.print(" ");
for(i=0;i<num/2-t;i++,times++)
if(times%2==1) System.out.print("# "); else System.out.print(" ");
if(t==k) s=1;
}
}
}

个人感觉按参数输出的回字型蛮难做的,算法改进了好几次.呵呵,拿出来分享下.
运行时请带参数,例:
java LoopEG 9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-10-10
展开全部
本来是C语言的,你把它改改就行了这个是梯形的、
int i,j,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{ for(j=0;j<i+n;j++)
system.out.print("*");
system.out.prinln("");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kavkey
2008-10-11
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-10-11
展开全部
朋友给你介绍个地方可以解答你问题

http://www.csdn.net/

比较专业的编程网站
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3b46a7f
2008-10-11 · TA获得超过2520个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:0
展开全部
public class test{
public static void main(String[] args) {
printDengYao(20,40);//打印等腰三角形
printLingXing(5, 8);//打印菱形
}
public static void printDengYao(int yao,int di){
if(di%2==0)
di+=1;
for(int i=0;i<yao;i++){
for(int j = 0;j<di/2-i;j++)
System.out.print(" ");//以底边中点开始打印左侧空格
for(int k=0;k<=2*i;k++)
System.out.print("*");
System.out.println();
}
}
public static void printLingXing(int a,int b){
//菱形可以看做是一个共用矩形和左右两侧的三角形组成
for (int i = 0; i < a; i++) {
for (int j = 0; j <a-i-1; j++)
System.out.print(" ");
for(int k=0;k<=i;k++)
System.out.print("*"); //上面两步实现打印出菱形左侧的三角部分
for(int m=0;m<b;m++)
System.out.print("*");//打印菱形的公有部分 -矩形
for(int n=0;n<=a-i;n++)
System.out.print("*");//打印右侧三角形
System.out.println();
}
}
}

梯形 矩形比较简单就不做了 圆、椭圆比较难了 牵扯换行大小不好确定打印*的个数 做不出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式