您的当前位置:首页正文

java输出一个实心菱形_Java通过非常简单的方法打印任意行数的实心菱形和空心菱形...

来源:九壹网

菱形还算比较简单的图形,主要是观察一下规律,而不要盲目的想着什么拆分成上下两部分,实际上规律很好找。基本上只需要高中的数学知识就可以了,简单的算法然后取绝对值即可!注意行数为正奇数3、5、7、9……,实际上行数也是菱形中间最宽的那一行(空白+菱形)的总数!

实心菱形

先上代码,非常简单:

/**

* 菱形

*/

@Test

public void test9() {

Scanner scanner = new Scanner(System.in);

//行数

int i = scanner.nextInt();

for (int j = 0; j < i; j++) {

// 空白

for (int k = 0; k < Math.abs(i / 2 - j); k++) {

System.out.print(" ");

}

// *

for (int k = 0; k < i - 2 * Math.abs(i / 2 - j); k++) {

System.out.print("*");

}

System.out.println();

}

}

空心菱形

在上面的基础上小小的改动即可:

/**

* 空心菱形

*/

@Test

public void test10() {

Scanner scanner = new Scanner(System.in);

//行数

int i = scanner.nextInt();

for (int j = 0; j < i; j++) {

// 空白

for (int k = 0; k < Math.abs(i / 2 - j); k++) {

System.out.print(" ");

}

// *+空白

for (int k = 0; k < i - 2 * Math.abs(i / 2 - j); k++) {

if (k == 0 || k == i - 2 * Math.abs(i / 2 - j) - 1) {

System.out.print("*");

} else {

System.out.print(" ");

}

}

System.out.println();

}

}

大家看代码就能看懂了吧?实在不懂怎么找的可以给我留言!

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top