java菱形双重循环代码 java菱形双重循环代码怎么输入

Java中,用循环语句做一个菱形,求代码以及注解

public class Demo {

“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联公司是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站制作、成都网站设计、外贸营销网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!

public static void main(String args[]) throws Exception {

  for (int i = 1; i = 5; i++) {

      for (int j = 1; j = 5 - i; j++) {

          System.out.print(" ");

      }

      for (int k = 1; k = 2 * i - 1; k++) {

          System.out.print('*');

      }

      System.out.println();

  }

  for (int i = 1; i = 4; i++) {

      for (int j = 1; j = i; j++) {

          System.out.print(" ");

      }

      for (int k = 7; k = 2 * i - 1; k--) {

          System.out.print('*');

      }

      System.out.println();

  }

}

}

终于搞定了,for循环的*的菱形的 java程序

思路:

*  第1行  空格数3(4-1) 星星数1(1*2-1)

***  第2行  空格数2(4-2) 星星数3(2*2-1)

*****  第3行  空格数1(4-3) 星星数5(3*2-1)

*******  第4行  空格数0(4-4) 星星数7(4*2-1)

通过以上思路就可以打印出菱形

代码:

public class Lin {

public static void main(String[] args) {

// TODO 自动生成的方法存根

int i,j,k;

for(i=0;i5;i++)    //控制行

{  

for(j=0;j5-i;j++)   //控制空格

System.out.print(" ");

for(k=0;k2*i-1;k++)   //控制*号输出

System.out.print("*");

System.out.print("n");

}

for(i=3;i0;i--)

{

for(j=0;j5-i;j++)

System.out.print(" ");

for(k=0;k2*i-1;k++)

System.out.print("*");

System.out.print("n");

}

}

}

【Java】使用两个双层For循环输出空心的菱形时参数的取值问题

public class Test2014111801 {

public static void main(String[] args) {

int size = 10;

if (size % 2 == 0) {//用size除以2余数等于0,说明size是个偶数,但菱形长度都是奇数的,所以需要加1

size++;

}

//整个循环都是从上到下,从左往右一个一个画的,只要符合条件就画一个对应的图标

for (int i = 0; i  size / 2 + 1; i++) { //先循环上半部分,这是行

for (int j = size / 2 + 1; j  i + 1; j--) {//循环列,画左上空白部分

System.out.print("1");// 每行从左往右画“1”的个数是(size/2+1)-(i+1),比如第一行是(10/2+1)-(0+1)=5,所以第一行画5个“1",以此类推

}

for (int j = 0; j  2 * i + 1; j++) {//则开始画边缘“*”和空白,开始地方是上面那个for循环画完之后的位置,这里的j和上面没有关系,这是重新从0开始计算的

if (j == 0 || j == 2 * i) {//已知紧跟着的第一个就是“*”,所以j==0时画个“*”,

System.out.print("*");// 第二个“*”的位置离第一个“*”的位置与行数的关系2*行号,如第二行第二个“*”的位置离第一个“*”2*1=2位(行号从0算起)

} else {

System.out.print("2");// 其他不是“*”的位置用“2”填充

}

}

System.out.println("3");//最外面画个“3”,

}

//下半部分类似

for (int i = size / 2 + 1; i  size; i++) {

for (int j = 0; j  i - size / 2; j++) {

System.out.print(" ");// 输出菱形左下角空白

}

for (int j = 0; j  2 * size - 1 - 2 * i; j++) {

if (j == 0 || j == 2 * (size - i - 1)) {

System.out.print("*");// 输出菱形下半部边缘

} else {

System.out.print(" ");// 输出菱形下半部空心

}

}

System.out.println("");

}

}

}

可以自己先理解理解,有问题可以追问

Java循环输出菱形详解

注解了以下 ,自己看看

final int count = 4; //count代表菱形的半径

for (int i = 1; i count * 2; i++) { //循环2*count-1次,表示竖直方向上 有多少行,

for (int j = 1; j count * 2; j++) { //循环2*count-1次 表示水平方向 有多少列,

if (i = count) { //菱形的上半部分

if (j = count - i + 1 j = count + i - 1) {

//为什么是在此区间,数学上就是 i,与j 的关系,当i=1是 只能是最中间一个*号,i 每加1 ,*号范围左右各加1。 你把菱形中间的对称轴要想象出来,对称轴就是j=count 的哪条竖直线

System.out.print("*"); //水平方向上 在此区间都输出*

} else {

System.out.print(" ");

}

} else { //菱形的下半部分

if (j = i - count + 1 j = 3 * count - i - 1) {

System.out.print("*");

} else {

System.out.print(" ");

}

}

}


标题名称:java菱形双重循环代码 java菱形双重循环代码怎么输入
网页链接:http://scyanting.com/article/hpopcc.html