思路:
创新互联建站是一家专业提供金城江企业网站建设,专注与成都网站制作、成都网站设计、外贸营销网站建设、成都h5网站建设、小程序制作等业务。10年已为金城江众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
* 第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");
}
}
}
package com.tset;
public class T {
public static void prinZ(int n){
System.out.println("输出菱形数字:");
for (int i = 1; i = n; i++) // 输出菱形的上半部分
{
for (int j = 1; j = n - i; j++)
System.out.print(" ");
for (int k = 1; k = i; k++)
System.out.print(" " + k);
for (int m = i - 1; m 0; m--)
System.out.print(" " + m);
System.out.println();
}
for (int i = n-1; i 0; i--) // 输出菱形的下半部分
{
for (int j = 1; j = n - i; j++)
System.out.print(" ");
for (int k = 1; k = i; k++)
System.out.print(" " + k);
for (int m = i - 1; m 0; m--)
System.out.print(" " + m);
System.out.println();
}
}
public static void main(String[] args) {
prinZ(15);
}
}
这应该能满足你的要求
java打印菱形通过二维数组来打印,实例如下:
int hangshu = 11;
int yiban = hangshu / 2 + 1;
int yibanduo = hangshu / 2;
System.out.println("空心菱形:");
for(int k = 1;k = yiban;k++){
for(int i = 1;i = (yiban - k);i++){
System.out.print(" ");
}
System.out.print("*");
for(int i = 1;i = ( (k - 2) * 2 + 1);i++){
System.out.print(" ");
}
if(k != 1){
System.out.print("*");
}
System.out.println();
}
for(int k = yibanduo;k =1;k--){
for(int i = 1;i = (yiban - k);i++){
System.out.print(" ");
}
System.out.print("*");
for(int i = 1;i = ( (k - 2) * 2 + 1);i++){
System.out.print(" ");
}
if(k != 1){
System.out.print("*");
}
System.out.println();
}
System.out.println("实心菱形:");
for(int i = 1;i = hangshu;i++){
if(i = hangshu/2 + 1){
for(int k = 1;k = hangshu/2 + 1- i;k++){
System.out.print(" ");
}
for(int k = 1;k = i;k++){
System.out.print("* ");
}
System.out.println();
}else{
for(int k =1;k = (i -(hangshu/2 + 1));k++){
System.out.print(" ");
}
for(int k = 1;k = (2 *(hangshu/2 + 1) - i);k++){
System.out.print("* ");
}
System.out.println();
}
}
结果如下:
绘制思路:
1、分为两部分,上半部分和下半部分;
2、输出空格部分换个输出*部分;
3、最后一个标签需要换行;
代码举例:
package demo;
public class Demo01 {
public static void main(String[] args) {
int i, j, k;
for (i = 1; i = 5; i++) {
for (j = 1; j = 5 - i; j++)
System.out.print(" ");
for (k = 1; k = 2 * i - 1; k++)
System.out.print("*");
System.out.println("");
}
for (i = 1; i = 4; i++) {
for (j = 1; j = i; j++)
System.out.print(" ");
for (k = 1; k = 9 - 2 * i; k++)
System.out.print("*");
System.out.println("");
}
}
}