JAVA的for循环打印菱形,谁能给讲一讲。

publicclassVar_02{publicstaticvoidmain(Stringargs[]){for(inti=1;i<=7;i+=2){for(intkon... public class Var_02 {
public static void main(String args[]){
for(int i=1;i<=7;i+=2){
for(int kong=7;kong>i-1;kong--){
System.out.print(" ");
}
for(int xing=1;xing<=i;xing++){
System.out.print("* ");
}
System.out.println();
}
for(int j=1;j<=5;j+=2){
for(int kong1=1;kong1<j+3;kong1++){
System.out.print(" ");
}
for(int xing1=5;xing1>=j;xing1--){
System.out.print("* ");
}
System.out.println();
}
}
}
展开
 我来答
匿名用户
推荐于2018-12-11
展开全部
打印菱形其实很简单,记得高中数学的公式么 Sn =a1+(n-1)*d
打印菱形一般分成两部分,第一部分是打印正三角(一个空白三角+星星正三角),然后是倒三角(空白三角+星星到三角)

每个三角形分别用两个for循环嵌套实现
例如:
for (int i = 1; i < 4; i++) {
for (int j = 1; j <= 1 + (i - 1) * 2; j++) {
System.out.print("*");
}
System.out.println();
}

两个for循环,外面的for循环控制输出的星星或空白的行,里面的for循环控制输出列。
例如上面外层for值分别是 1 2 3 。
而我们相输出的列是 1 3 5 7.....
这个数列递增值d=2 // Sn =a1+(n-1)*d
那么套用公式里面的循环就应写for(int j=1;j<=1+(i-1)*2;j++)
就能输出 1 3 5 7 个星星
倒三角也一样 套公式
倒三角的d值为-2 ,
用了这个公式,输出三角真的跟浮云一样简单 // Sn =a1+(n-1)*d
TiooBeoo
推荐于2017-10-04 · TA获得超过542个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:265万
展开全部
for(int i=1;i<=7;i+=2){
for(int kong=7;kong>i-1;kong--){
System.out.print(" ");
}
for(int xing=1;xing<=i;xing++){
System.out.print("* ");
}
System.out.println();
}
第一个for循环是用来控制这个菱形上半部分的行数,同时这个i值还控制了菱形的宽度
第二个for循环用来输出* 前的空格数,用来将菱形定位
第三个for循环就是用来输出菱形本体的了
for(int j=1;j<=5;j+=2){
for(int kong1=1;kong1<j+3;kong1++){
System.out.print(" ");
}
for(int xing1=5;xing1>=j;xing1--){
System.out.print("* ");
}
System.out.println();
}
这是用来输出菱形下半部分
同样第一个for控制行数,第二个for定位,第三个for输出菱形本体
更多追问追答
追问
我不太明白for循环里面的取值范围kong>i-1和xing1>=j;还有后面的kong1++,xing1--为什么空格是递增而星号是递减
追答
kong>i-1这个 减不减1无所谓 ,就象他选择输出的菱形是带空格的,这是视觉效果。

xing1>=j就和上半部分的菱形一样,是用来控制菱形的大小。

kong1++,xing1--

_ _ _ * * * * *
_ _ _ _ _ * * *
_ _ _ _ _ _ _*
这就是下半部分的本体,因为下半部分的菱形是逐渐变小所以是--,而空格组成的类三角体也需要增加来让菱形正确落位。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RoseTake
2012-11-29 · 超过10用户采纳过TA的回答
知道答主
回答量:149
采纳率:0%
帮助的人:37万
展开全部
路过
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shishi11li
2012-11-28
知道答主
回答量:33
采纳率:0%
帮助的人:7.4万
展开全部
我想是在打印测试,假如不是就系统重装
追问
我是说给讲解一下整个程序,我不太明白for循环里面的意思
追答
我不会的  看不到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式