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();
}
}
} 展开
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
打印菱形一般分成两部分,第一部分是打印正三角(一个空白三角+星星正三角),然后是倒三角(空白三角+星星到三角)
每个三角形分别用两个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
展开全部
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(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--
_ _ _ * * * * *
_ _ _ _ _ * * *
_ _ _ _ _ _ _*
这就是下半部分的本体,因为下半部分的菱形是逐渐变小所以是--,而空格组成的类三角体也需要增加来让菱形正确落位。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路过
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想是在打印测试,假如不是就系统重装
追问
我是说给讲解一下整个程序,我不太明白for循环里面的意思
追答
我不会的 看不到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询